• wordpress CMS主题:ssmay主题wordpress CMS主题:ssmay主题
  • 首页 > Linux系统运用 > Linux下如何使用crontab来执行scrapy任务

    Linux下如何使用crontab来执行scrapy任务

    作者: 分类:Linux系统运用 点击: 103 次
    wordpress CMS主题:ssmay主题

      运行scrapy爬虫需要执行

      scrapy crawl spider_name

      而放到crontab中执行scrapy,需要scrapy命令的绝对路径,而且还要切换到对应的scrapy项目下才能使用crawl

      下面举一个每天零点执行任务的例子

      00 00 * * * cd /home/workspace/scrapy && /usr/local/bin/scrapy crawl xxx

      crontab简介

      Linux服务器上使用CronTab定时执行php

      我们先从相对比较复杂的服务器执行php谈起。服务器上安装了php,就可以执行php文件,无论是否安装了nginx或Apache这样的服务器环境软件。而Linux中,使用命令行,用CronTab来定时任务,又是绝佳的选择,而且也是效率最高的选择。

      首先,进入命令行模式。作为服务器的linux一般都默认进入命令行模式的,当然,我们管理服务器也一般通过putty等工具远程连接到服务器,为了方便,我们用root用户登录。在命令行中键入:

      crontab -e

      之后就会打开一个文件,并且是非编辑状态,则是vi的编辑界面,通过敲键盘上的i,进入编辑模式,就可以编辑内容。这个文件中的每一行就是一个定时任务,我们新建一行,就是新建一条定时任务(当然是指这一行内按照一定的格式进行书写)。我们现在来举个例子,增加一行,内容如下:

      00 * * * * lynx -dump https://www.yourdomain.com/script.php

      这是什么意思呢?实际上上面这一行由两部分组成,前面一部分是时间,后面一部分是操作内容。例如上面这个,

      00 * * * *

      就是指当当前时间的分钟数为00时,执行该定时任务。时间部分由5个时间参数组成,分别是:

      分 时 日 月 周
      第1列表示分钟1~59 每分钟用或者 /1表示,/n表示每n分钟,例如/8就是每8分钟的意思,下面也是类推
      第2列表示小时1~23(0表示0点)
      第3列表示日期1~31
      第4列表示月份1~12
      第5列标识号星期0~6(0表示星期天)
      整个句子的后面部分就是操作的具体内容。

      举个栗子

      lynx -dump https://www.yourdomain.com/script.php

      意思就是说通过lynx访问这个url。我们在使用中主要用到lynx、curl、wget来实现对url的远程访问,而如果要提高效率,直接用php去执行本地php文件是最佳选择,例如:

      00 */2 * * * /usr/local/bin/php /home/www/script.php

      这条语句就可以在每2小时的0分钟,通过linux内部php环境执行script.php,注意,这里可不是通过url访问,通过服务器环境来执行哦,而是直接执行,因为绕过了服务器环境,所以效率当然要高很多。

      好了,已经添加了几条需要的定时任务了吧。点击键盘上的Esc键,输入“:wq”回车,这样就保存了设置的定时任务,屏幕上也能看到提示创建了新的定时任务。接下来就是好好写你的script.php了。

      每隔2小时执行python脚本

      00 */2 * * * cd /home/www/novel.hfun.club/spider/ && /root/anaconda3/bin/python spider_douban_book.py



      QQ二维码

    文章作者:zhangxuan
    本文地址:http://wanlimm.com/77201808296727.html
    版权所有 © 转载时必须以链接形式注明作者和原始出处!

    上一篇:
    下一篇:
    wordpress CMS主题:ssmay主题

    或许你会感兴趣的文章:

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注

    This site uses Akismet to reduce spam. Learn how your comment data is processed.