linux中用crontab命令定时执行scrapy项目

 

进入文件所在目录

为了保证此方法可行,我先在所在的目录创建一个测试小demo的脚本,想知道如何执行scrapy项目可以直接跳到后面

vi test.sh

编写一个每分钟往当前文件中的test.txt中写入111的脚本

编写crontab命令

crontab -e
*/1 * * * * sh ~/python_file/paimai/PAIMAI/test.sh # 代表每分钟执行一次

保存后就可以去查看命令是否执行,使用命令

tail -n 10 /var/log/cron

linux中用crontab命令定时执行scrapy项目_第1张图片

查看test.txt文件,成功执行

linux中用crontab命令定时执行scrapy项目_第2张图片

 

好了,demo执行成功,我们来看看定时执行scrapy项目如何设置

 

首先编写cron.sh脚本

vi cron.sh
#!/bin/sh
cd /root/python_file/paimai/PAIMAI/PAIMAI/spiders   #进入到spider所在路径
nohup scrapy crawl bid_over  >../main.log 2>&1 &    #后台执行命令

再来编写crontab

crontab -e
0 19 * * * sh ~/python_file/paimai/PAIMAI/cron.sh  #每天晚上7点定时执行

好了,定时执行命令成功

ps:

crontab基础命令:
crontab -e     #编辑命令
crontab -l       #列出已经编写的命令
/var/log/cron   #查看定时任务执行的日志
service crond status   #查看定时任务是否开启

linux中用crontab命令定时执行scrapy项目_第3张图片linux中用crontab命令定时执行scrapy项目_第4张图片

 

附录一些参考例子:

#每晚的21:30重启apache。

30 21 * * * /usr/local/etc/rc.d/lighttpd restart

#每月1、10、22日

45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart

#每天早上6点10分

10 6 * * * date

#每两个小时

0 */2 * * * date

#晚上11点到早上8点之间每两个小时,早上8点

0 23-7/2,8 * * * date

#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点

0 11 4 * mon-wed date

#1月份日早上4点

0 4 1 jan * date 

 

很多时候,我们计划任务需要精确到秒来执行,根据以下方法,可以很容易地以秒执行任务。

以下方法将每10秒执行一次

1

2

3

4

5

6

7

# crontab -e

* * * * * /bin/date >>/tmp/date.txt

* * * * * sleep 10/bin/date >>/tmp/date.txt

* * * * * sleep 20/bin/date >>/tmp/date.txt

* * * * * sleep 30/bin/date >>/tmp/date.txt

* * * * * sleep 40/bin/date >>/tmp/date.txt

* * * * * sleep 50/bin/date >>/tmp/date.txt

 

在设置定时执行的操作后,出现LINUX的邮件提示功能:You have new mail in /var/spool/mail/root

可以用root下执行这条命令

echo "unset MAILCHECK">> /etc/profile

你可能感兴趣的:(python)