1、编写脚本
随便找一个位置创建.sh文件
为了方便,本文创建在项目的同级目录中
创建文件包 :mkdir -- 文件名
创建文件: vim scrapy_sh
scrapy_sh内容:
export中启动虚拟环境
cd 进入到启动的scrapy项目中
scrapy crawl pythonPosition 为启动项目,一般为spiders文件中的对应的py文件,将.py去掉即为启动方法
>> 为重定向
pythonPosition.log 2>&1
这句就是将运行的日志保存在同scrapy文件同一目录下的文件中,文件名可以自定义
crontab -e
本文主要介绍crontab 定时爬虫,还有scrapyd等等
在任意用户下执行 crontab -e,进入定时目录中
Crontab命令格式
*/1 * * * * 每分钟执行一次
0 * * * * 每小时执行一次
0 0 * * * 每天执行一次
0 0 * * 0 每周执行一次
0 0 1 * * 每月执行一次
0 0 1 1 * 每年执行一次
编写,例如:
进行时间管理之后编写 sh sh的地址
本文设置的为每天零点零分开始执行这个脚本
执行完之后按Ctrl+x,Y保存,即可保存
至此你以为完了么?
不
大错特错
为了自己能够监控到是否执行了爬虫,需要开启cron的log,默认是关闭的,最好开启,出现问题也可以去更改(主要问题出现在scrapy_sh中创建的log文件内),也可以查看是否执行,所有的执行文件都会在其中记住
输入 vi /etc/rsyslog.d/50-default.conf ,去掉cron.*这一行前的注释。
重启rsyslogo即可
sudo service rsyslog restart
输入tail –f /var/log/cron.log查看crontab当前日志了,可以看cron.sh到时间是否被执行。
也可以进入
var/log/cron.log
可以查看到什么时间执行的,什么时候结束都可看到