crond服务的管理与访问控制

启动/重启

  • service crond start/restart

  • chkconfig crond on

  • systemctl start/restart/status crond

用户的crontab设置

1
crontab [选项]

选项

  • -e 编辑crontab定时任务

  • -l 查询 crontab任务

  • -r 删除当前用户所有的crontab任务

crontab编辑

格式

项目 含义 范围
第一个”*“ 一小时当中的第几分钟 0-59
第二个”*“ 一天当中的第几小时 0-23
第三个”*“ 一个月当中的第几天 1月31日
第四个”*“ 一年当中的第几月 1月12日
第五个”*“ 一周当中的星期几 0-7(0和7都代表星期日)

特殊符号

特殊符号 含义
* 代表任何时间。比如第一个”*“就代表一小时中每分钟都执行一次的意思
, 代表不连续的时间。比如”0 8,12,16 * * * 命令”,就代表在每天的8点0分,12点0分,16点0分都执行一次命令
- 代表连续的时间范围。比如”0 5 * * 1-6 命令”,代表在周一到周六的凌晨5点0分执行命令
*/n 代表每隔多久执行一次命令。比如”*/10 * * * * 命令”,代表每隔10分钟就执行一次命令

示例

时间 含义
45 22 * * * 命令 在22点45分执行
0 17 * * 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
2
3
4
5
*/5 * * * * /bin/echo "11" >> /tmp/test        # 每5分钟写一个11到指定文件

5 5 * * 2 /sbin/shutdown -r now        # 每周2的5点5分重启一次

0 5 1,10,15 * * /root/sh/autobak.sh        # 每个月的1,10,15号早上5点执行一下脚本