用crontab定时执行scrapy任务

crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。下面是简单使用crontab进行定时循环执行scrapy爬虫的操作:

  1. 安装crontab
    yum install crontab

  2. 编辑crontab服务文件
    crontab -e
    (其他参数:-u 指定用户下的crontab; -r 删除; -l 查看crontab工程目录; -i 有提示的删除)

  3. 在crontab文件中添加命令以爬取name为ACW1的爬虫
    * * * * * cd /home/hyj/kids && scrapy crawl ACW1 -o ACW1.json
    (更多写法参照https://www.cnblogs.com/longjshz/p/5779215.html

实现了每分钟执行一次爬虫。在爬虫比较多时,可以采用shell脚本集中管理。若爬虫运行时间较长,可结合scrapy jobs进行暂停爬取,之后再恢复运行

遇到的问题:如果直接在crontab -e中输入* * * * * scrapy crawl xxx,定时任务是不会生效的,因为我们不知道crontab执行时,其所处的目录,很有可能就没有scrapy命令和crawl命令。因此,书写如下crontab的指令:* * * * * cd /home/hyj/kids && scrapy crawl ACW1,就可以正常的执行定时任务了。

  1. 查看crontab历史执行情况
    默认情况下,crontab中执行的日志写在/var/log下。可通过以下指令在root权限下访问:
    tail –f /var/log/cron
    crontab日志
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Linux定时任务Crontab命令详解 linux 系统则是由 cron (crond) 这个系统服务来控制的。...
    孙燕超阅读 1,841评论 0 4
  • crontab命令可以设置定时执行任务,比如定时执行备份,定时爬取数据等 我们需要每个小时执行一次爬虫,cront...
    晓函阅读 1,659评论 0 1
  • Linux 系统提供了使用者控制计划任务的命令 :crontab 命令。 一、crond简介 crond是linu...
    happeace阅读 1,808评论 0 53
  • 1.安装cron yum install vixie-cron yum install crontabs vixi...
    Broom阅读 1,284评论 0 1
  • Linux系统中存在两种工作调度的方式周期性的(at),每隔一个固定的周期要来办的事项;一次性的(crontab)...
    Muscleape阅读 543评论 0 1