Crontab 驱动 Scrapy 定时任务
做了个爬虫去定时抓自己发布在cnblogs更新的文章,考虑用corntab定时任务驱动
crontab 任务配置
crontab配置规则就不啰嗦了,网上很多介绍,规则很容易功能却很强大。
然后我发现只有.cron后缀的文件才能被配置
crontab run_scrapy.cron
crontab 的坑
crontab中没有读取到环境变量,因此所有命令必须手动写全,或者执行一个脚本,在脚本中导入环境变量
*/1 * * * * /usr/bin/bash echo "U'll see me next miniute"
#!/usr/bin/bash
. ~/.bash_profile
ps -ef | grep 'scrapy'
scrapy 的坑
scrapy 的命令必须在项目文件夹下才能正常运行,而且,scrapy本身也有环境路径
[root@iZrj9acq02ar6zvxx6ovrcZ scripts]# whereis scrapy
scrapy: /usr/local/bin/scrapy
run_scrapy.cron 类似于这样:
1 6 * * * /var/www/django-web/blog/scripts/run_blogs.sh >> crawl_blog.log
run_scrapy.sh:
#!/bin/bash
echo "*****crontab begin:*****"
cd /var/www/django-web/blog/cnblogs
#/usr/local/bin/scrapy crawl cnblogs -s LOG_FILE=/tmp/scrapy.log >> /tmp/crawl_blog.log &
/usr/local/bin/scrapy crawl cnblogs >> /tmp/crawl_blog.log &
echo $(ps -ef | grep "scrapy crawl cnblogs" |grep -v 'grep' |awk -F ' ' '{print $2}')
Crontab 驱动 Scrapy 定时任务的更多相关文章
- MySql 利用crontab实现MySql定时任务
MySql 利用crontab实现MySql定时任务 by:授客 QQ:1033553122 适用平台 任意myslq版本数据库 操作方法 登陆到数据库系统所在的linxu系统 第一步:新建名为cro ...
- 使用python crontab设置linux定时任务
熟悉linux的朋友应该知道在linux中可以使用crontab设置定时任务.可以通过命令crontab -e编写任务.当然也可以直接写配置文件设置任务. 但是有时候希望通过脚本自动设置,比如我们应用 ...
- crontab 日志备份定时任务
-l选项,查看当前用户的所有定时任务: [xiluhua@vm-xiluhua][/home]$ crontab -l * * * * * /home/xiluhua/shell_script/log ...
- Mac下使用crontab来实现定时任务
说明: 1.Linux和Mac下操作crontab都是一致的 2.配置文件都在/etc/crontab下,如果没有就创建. 3.测试发现直接使用crontab -e命令创建的定时任务是放在临时文件夹的 ...
- linux系统下crontab 配置启动定时任务
1 crontab -e 配置启动定时任务 */1 * * * * sh /home/admin/application/wd/core-python/getMemPositionFromAnaual ...
- 详解使用python crontab设置linux定时任务
熟悉linux的朋友应该知道在linux中可以使用crontab设置定时任务.可以通过命令crontab -e编写任务.当然也可以直接写配置文件设置任务. 但是有时候希望通过脚本自动设置,比如我们应用 ...
- 工作中常用的Linux命令:crontab命令,定时任务执行命令
本文链接:http://www.cnblogs.com/MartinChentf/p/6060252.html (转载请注明出处) crontab是一个用来设置.删除或显示供守护进程cron执行的定时 ...
- AIX中crontab和at 定时任务
1.crontab crontab文件用于在指定日期和时间周期性地执行作业 crontab 作业存放在/var/spool/cron/crontabs/$USER cron根据crontab文件项运行 ...
- crontab 详细用法 定时任务
转自:http://blog.chinaunix.net/uid-25785357-id-3434344.html 使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命 ...
随机推荐
- SqlServer 用户和权限操作
use [master] GO --创建用户,Test,密码Test CREATE LOGIN [TestUser] WITH PASSWORD=N'Test', DEFAULT_DATABASE=[ ...
- 天梯L2-001. 紧急救援(25分)
L2-001. 紧急救援 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 作为一个城市的应急救援队伍的负责人,你有一张特殊的全国 ...
- 11-10SQLserver基础--数据库之视图
视图 视图实际就是对表的连接展现出来的结果建成的虚拟表.简单来说,视图实际上就是一个虚拟的表,通过表与表之间的关系连接起来,方便查询时使用. 首先,将需要连接的语句存储到数据库中,定义新的视图名代替连 ...
- JavaScript实现重置表单(reset)的方法
转自:https://www.jb51.net/article/63305.htm <!DOCTYPE html> <html> <head> <script ...
- LAMP 3.3 mysql常用操作-1
有一个图形化管理 mysql 的工具叫做 phpmyadmin,如何在命令行下面来管理和操作 mysql. 首先进入mysql mysql -uroot -pwangshaojun 查看有那些库 &g ...
- C语言学习笔记--#和##操作符
1. #运算符 (1)#运算符用于在预处理期将宏的参数转换为字符串 (2)#的转换作用是在预处理期完成的,因此只在宏定义中有效,即其他地方不能用#运算符 (3)用法:#define STRING(x) ...
- pthon之函数式编程
函数式编程是一种抽象计算的编程范式. 不同语言的抽象层次不同:计算机硬件->汇编语言->C语言->Python语言 指令 -> ->函数 ...
- Emulator 模拟器起不来
内存过大 打开SDK Manager.Avd Manager 新建 adb 命令不识别,因为环境变量里没有加入platform-tools文件夹 下载并按照下面这个更新,会帮助还原VS2012,我这 ...
- day17-jdbc 6.Connection介绍
package cn.itcast.jdbc; import com.mysql.jdbc.Connection; import java.sql.DriverManager; import java ...
- iBase4J项目笔记
目录: 1 数据库密码加密 2 service层概述 3 web层概述 4 后端CRUD 4.1 READ 4.2 UPDATE 4.3 CREATE 4.4 DELETE 5 facade层概述 1 ...