一、crontab基础
systemctl status crond.service #查看crond系统服务的状态
crontab -e #编辑crontab定时任务
crontab -l #查询crontab任务
crontab -r #删除当前用户所有的crontab任务
二、样例
# .---------------- 分钟,一小时当中的第几分钟 (0 - 59)
# | .------------- 小时,一天当中的第几小时 (0 - 23)
# | | .---------- 天,一个月当中的第几天 (1 - 31)
# | | | .------- 月,一年中的第几个月 (1 - 12)
# | | | | .---- 周,一周当中的星期几(0 - 7),0和7都代表星期日
# | | | | |
# * * * * * user-name command to be executed
# * 代表任何时间,比如第一个“*”就代表1小时中每分钟都执行一次的意思
# , 代表不连续的时间,比如“0 8,12,16 * * * 命令”,在每天的8点0分,12点0分,16点0分都执行一次
# - 代表连续的时间范围,比如“0 5 * * 1-6 命令”,在每周一到周六的凌晨5点执行一次
# */n 代表每隔多久执行一次,比如“*/10 * * * * 命令”,代表每隔10分钟执行一次
# 45 22 * * * 在22点45分执行
# 0 17 * * 1 每周1的17点0分执行
# 0 5 1,15 * * 每月1号和15号的凌晨5点0分执行
# 40 4 * * 1-5 每周一到周五的凌晨4点40分执行
# */10 4 * * * 每天的凌晨4点,没隔10分钟执行一次
# 0 0 1,15 * 1 每月1号和15号,每周1的0点0分都会执行。注意:星期几和几号最好不要同时出现,因为他们定义的都是天,非常容易让管理员混乱
# 实例1:每1分钟执行一次myCommand
* * * * * myCommand
# 实例2:每小时的第3和第15分钟执行
3,15 * * * * myCommand
# 实例3:在上午8点到11点的第3和第15分钟执行
3,15 8-11 * * * myCommand
# 实例4:每隔两天的上午8点到11点的第3和第15分钟执行
3,15 8-11 */2 * * myCommand
# 实例5:每周一上午8点到11点的第3和第15分钟执行
3,15 8-11 * * 1 myCommand
# 实例6:每晚的21:30重启smb
30 21 * * * /etc/init.d/smb restart
# 实例7:每月1、10、22日的4 : 45重启smb
45 4 1,10,22 * * /etc/init.d/smb restart
# 实例8:每周六、周日的1 : 10重启smb
10 1 * * 6,0 /etc/init.d/smb restart
# 实例9:每天18 : 00至23 : 00之间每隔30分钟重启smb
0,30 18-23 * * * /etc/init.d/smb restart
# 实例10:每星期六的晚上11 : 00 pm重启smb
0 23 * * 6 /etc/init.d/smb restart
# 实例11:每一小时重启smb
0 */1 * * * /etc/init.d/smb restart
# 实例12:晚上11点到早上7点之间,每隔一小时重启smb
0 23-7/1 * * * /etc/init.d/smb restart