linux定时任务

首先,定义一个任务文件,取名为niubi.crontab,比如放在/srv/niubi/下面:


   25 19 * * * cd /srv/niubi/ && /usr/local/bin/scrapy crawl niubi.com

在里面写入如上语句,指的是在每天19时25分,先跑到/srv/niubi/目录下,然后执行scrapy命令到niubi.com上抓些东西。

然后,


    crontab /srv/niubi.crontab
    /etc/init.d/crond restart

查看有什么定时任务:


    crontab -l

当然,在这之前,你要确保已经安装了crontab, CentOS的话如下:

yum install -y vixie-cron

因为这个博客里到目前为此大部分技术内容是关于python及django的,所以特别提醒下,如果要执行脚本,应该要用如下的语句:

25 19 * * * cd /srv/project_dir/ && /usr/local/bin/python script.py 

注意不能用下面这种语句:

25 19 * * * cd /srv/project_dir/ && python script.py

要把写出环境变量的完整目录。

以上适合CentOS 6.X,CentOS 7请参考以下链接:

https://www.rosehosting.com/blog/automate-system-tasks-using-cron-on-centos-7/

好像上面那个链接挂了,简单写一下命令如下:

修改下面文件:

/etc/crontab

注意:在CentOS 7里,要指定有权限的用户才能正常执行,如下:

25 19 * * * root cd /srv/project_dir/ && /usr/local/bin/python script.py 

查看状态:

systemctl status crond.service

启动,停止,重启:

systemctl start crond
systemctl stop crond
systemctl restart crond
For example, "name@something.com". If someone replies to you it will be via email.
For example, "http://someaddress.com"