crontab定时任务格式
1 * * * * * command2 第1列表示分钟1~59 每分钟用*或者 */1表示3 第2列表示小时1~23(0表示0点)4 第3列表示日期1~315 第4列表示月份1~126 第5列标识号星期0~6(0表示星期天)7 第6列要运行的命令
crontab的时间颗粒度为分钟,要想实现秒级任务只需使用sleep命令。如每个30秒一次:
1 * * * * * command2 * * * * * sleep 10; command3 * * * * * sleep 20; command4 * * * * * sleep 30; command5 * * * * * sleep 40; command6 * * * * * sleep 50; command7
crontab调试
有时我们可能在加入了一条crontab定时指令,但是这条指令死活不能执行成功,此时你需要使用下面这条指令来窥探执行的细节
tail -f /var/log/cron
tail
其实是一条Linux指令。有些时候我们只需通过查看日志文件的开头或者结尾几行,就能了解到其最近的工作状态,因此Linux中提供了这样的工具:head
和tail
。
head
指令可以查看文件的开头几行,通过参数-n
来设置。比如我们需要打印出前8行可以通过
head -n 8 lnmp-install.log
结果为
Press any key to install...or Press Ctrl+c to cancel You will install lnmp stack.nginx-1.10.0mysql-5.5.48php-5.4.45Enable InnoDB: yPrint lnmp.conf infomation...Download Mirror: http://soft.vpser.net
tail
指令可以查看文件的后几行,通过参数-n
来设置。比如打印后几行的时候可以使用
tail -n 8 lnmp-install.log
结果为
nginx (pid 19581 19580 19579) is running...php-fpm is runing! SUCCESS! MySQL running (20099)Active Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address Statetcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTENtcp 0 0 0.0.0.0:80 0.0.0.0:* LISTENtcp 0 0 0.0.0.0:22 0.0.0.0:* LISTENInstall lnmp V1.3 completed! enjoy it.
如果我们需要见识某个文件的时候,可以使用-f
选项。
tail -f /var/log/cron