进入文件所在目录
为了保证此方法可行,我先在所在的目录创建一个测试小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
查看test.txt文件,成功执行
好了,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 #查看定时任务是否开启
#每晚的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 |
|
在设置定时执行的操作后,出现LINUX的邮件提示功能:You have new mail in /var/spool/mail/root
可以用root下执行这条命令
echo "unset MAILCHECK">> /etc/profile