上一次使用laravel的任务和调度写例子用到了cron,之前工作经历一直没有让我动手弄定时任务,这次项目中定时任务比较多,专门复习了一下。
1、crontab的命令
crontab -l 查看当前定时任务
crontab -e 编辑定时任务
crontab -r 删除定时任务
Mac 系统
sudo cron stop 停止
sudo cron start 开始
sudo cron restart 重启
注意:以上命令mac都能用,但是我没发现它有什么用,我感觉一点用都没有,cron是个特别的存在,杀死进程都无法阻止它运行,即便你删除了定时任务,还能继续运行。不晓得为什么,重启电脑就可以解决。
2、cron的编写格式
* * * * * {执行文件或者命令} //如果是命名后面再加上执行的文件
上面星星按顺序分别代表:
分 范围(1-59)
时 范围(1-23)
日 范围(1-31)
月 范围(1-12)
周 范围(0-6)0代表 周日
符号 , / - 在例子里面看理解的更清晰
* * * * * echo “测试测试生成文件” >> /Users/lf/wwwlf/text1.txt //如目标目录没有此文件自动生成
*/2 * * * * echo “测试每隔2分钟打印一次” >> /Users/lf/wwwlf/text.txt //因为2在第一位斜线划分也就是说每两分钟执行一次
0 23-6/2 * * * echo “测试每天23点到第二天的6点每隔两小时执行一次” >> /Users/lf/wwwlf/text.txt
0 0 3,7-19/2 * * echo “测试每个月3号和7到19号每隔两天0时执行一次” >> /Users/lf/wwwlf/text.txt
> /dev/null 2>&1 这一串当你定义完任务,不想让程序执行完告你,就灾后面加上这一串
当然还有一些符号,暂时用不到,有机会用到再说,linux 的操作等,项目开始部署,再说linux的cron操作。我翻阅了一下,大致差不多。回头再补上