Cron 是UNIX, SOLARIS,LINUX下的一个十分有用的工具。通过Cron脚本能使计划任务定期地在系统后台自动运行。这种计划任务在UNIX, SOLARIS, LINUX下术语为cron jobs。 Crontab (CRON 表)则是用来记录在特定时间运行的CRON的一个脚本文件。
Crontab归结为以下几点特性:
1、Crontab约束
2、Crontab 命令
3、Crontab 文件
* * * * * command to be executed
- - - - -
| | | | |
| | | | +----- day of week (0 - 6) (Sunday=0) //星期
| | | +------- month (1 - 12) //月
| | +--------- day of month (1 - 31) //日
| +----------- hour (0 - 23) //时
+------------- min (0 - 59) //分
所有的值都必须在相应的范围之内,否则视为无效。
在填值区域内可以是*也可以是以”,”分隔的一组值。
值可以是一个数据也可以是用连接符连起来的两个数(表示范围)。
注:日期的格式可以是星期,也可以是一个月中的天。假如两个都有值,则在这两个时间都会执行。
4、Crontab 实例
30 18 * * * rm /home/someuser/tmp/*
min
|
hour
|
day/month
|
month
|
day/week
|
Execution time
|
30
|
0
|
1
|
1,6,12
|
*
|
-- 00:30 Hrs on 1st of Jan, June & Dec.
|
| |||||
0
|
20
|
*
|
10
|
1-5
|
--8.00 PM every weekday (Mon-Fri) only in Oct.
|
| |||||
0
|
0
|
1,10,15
|
*
|
*
|
-- midnight on 1st ,10th & 15th of month
|
| |||||
5,10
|
0
|
10
|
*
|
1
|
-- At 12.05,12.10 every Monday & on 10th of every month
|
>/dev/null 2>&1
例如:
* * * * * root php /var/www/deployer/artisan schedule:run 1>> /dev/null 2>&1
7、生成日志文件保存cronjobs日志只需作如下设置就可以30 18 * * * rm /home/someuser/tmp/* > /home/someuser/cronlogs/clean_tmp_dir.log
/home/someuser/cronlogs/clean_tmp_dir.log 为日志文件保存的绝对路径