一、说明

很多项目需要设置一定服务器的定时任务Crontab来实现一些脚本功能,所以在这里整理总结一下。

环境:linux + centos6.8

二、准备

1、查看服务器的crontab是否在服务器状态

service crond status

启动状态

如果是是已启动的状态,则再查看是否已经设置了开启自启动

chkconfig | grep crond

wKioL1mKokKxj0ZRAAARavguxkk197.png

3 4 5 on代表已经设置,如果不是on的话则执行下面命令

chkconfig --level 345 crond on

未启动状态

如果未启动的话先安装

yum install crontabs

2、php的话注意修改php.ini的时间与系统时间是否一致

打开php.ini,查到date.tiemzone,修改为Asia/Shanghai

三、实现

crontab -e : 进入设置crontab

1、curl模式实现,但是不安全,外部地址很容易被***(不推荐)

基本命令: *分 *时 *日 *月 *周 curl 脚本地址

如:0 12 * * * curl www.a.com/Order/update(每天12点执行一次任务)

2、把脚本文件放到服务器目录,外部不能直接访问的(推荐)

基本命令:*分 *时 *日 *月 *周 php安装路径 执行脚本的文件路径

如:0 12 * * * /usr/local/php/bin/php /www/scripts/cron/test.php(每天12点执行一次任务)

3、设置完成后重启crontab

/etc/init.d/crond restart 或 /sbin/service crond restart

4、命令:grep "脚本文件"  /var/log/cron  查看crontab是否执行