好久没有开发后台服务器了,今天想想有必要去总结一下之前发生的意外
在symfony2开发的时候,需要开发定时脚本执行Command,这个命令需要在晚上十一点进行推送,命令如下:
* 23 * * * php /home/wwwroot/test.ushopal.com/S.H.I.E.L.D./app/console ushopal:hello --env=prod
但是有经验的开发者可以很容易的发现这个脚本是错误的,甚至是危险的,因为这个我推送了十几条给客户,因为我的错误造成的影响特别不好,
扯远了,言归正传,正确的命令应该是下面这个
0 23 * * * php /home/wwwroot/test.ushopal.com/S.H.I.E.L.D./app/console ushopal:hello --env=prod
这个命令在每天23点执行,错误的是每分钟执行一次,前车之鉴后事之师。
crontab文件包含送交cron守护进程的一系列作业和指令。
每个用户可以拥有自己的crontab文件;同时,操作系统保存一个针对整个系统的crontab文件,该文件通常存放于/etc或者/etc之下的子目录中,而这个文件只能由系统管理员来修改。
crontab文件的每一行均遵守特定的格式,由空格或tab分隔为数个领域,每个领域可以放置单一或多个数值。
每一列代表的意思:
第1列分钟1~59
第2列小时1~23(0表示子夜)
第3列日1~31
第4列月1~12
第5列星期0~6(0表示星期天)
第6列要运行的命令
$crontab -l 列出用户目前的crontab.
$crontab -e 编辑现有的命令
$crontab -l : 列出目前的所有crontab命令