
1)星号(*)表示取值范围内的所有值。例如,*在hour的位置,表示每小时执行一次。
2)连字符(-)表示一个范围。例如,8-12表示8、9、10、11、12。
3)逗号(,)表示分割指定的数值。例如:3,5-7,9表示3,5,6,7,9。
4)正斜杠(/)表示步进值。例如,分钟的位置为*/5,表示每五分钟执行一次。
除了root用户以外的所有用户定义的crontab计划任务都存放在/var/spool/cron目录,通过crontab -e命令编辑,格式与/etc/crontab相同,可以不用指定user-name。
cron服务会每分钟检查一次/etc/crontab、/etc/cron.d/和/var/spool/cron/中的所有文件,并依此执行。
6. 实例
实例1:每周末的凌晨一点钟执行一次系统的raid-check
0 1 * * Sun root /usr/sbin/raid-check
实例2:每天的4:02am分root用户执行/etc/cron.daily目录下的所有脚本,run-parts参数表示执行后面目录中的所有脚本。
02 4 * * * root run-parts /etc/cron.daily
实例3:每天的8-18每四小时,dodmaster用户执行hislogclear.sh脚本,即8:44,12:44,16:44,20:44四个时间点,会执行该脚本。
[21:57:56][dodmaster@mha3 ~]$ crontab -l
44 8-20/4 * * * $HOME/.DailyShell/hislogclear.sh
实例4:每五分钟执行一次(两种写法)
*/5 * * * * echo "every five minute to do it" >> time.txt
5 * * * * echo "every five minute to do it" >> time.txt
实例5:每个工作日下午八点执行
0 20 * * 1-5 echo "every workday 20:00 to do it" >> time.txt
实例6:每分钟的30秒时执行,因为cron服务是每分钟被唤醒一次,所以要执行精确到秒的任务需要借助sleep命令。
* * * * * sleep 30; echo "every minute 30 second to do it" >> time.txt
实例7:每20秒执行一次,即表示在每分钟的0秒、20秒、40秒各执行一次(也可以是其他的步长是20秒的值,例如:5s、25s、45s)
* * * * * echo "every 20 second to do it" >> time.txt
* * * * * sleep 20; echo "every 20 second to do it" >> time.txt
* * * * * sleep 40; echo "every 20 second to do it" >> time.txt
以上所述是小编给大家介绍的Linux命令下crontab命令,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对易采站长站网站的支持!








