linux之cron/crontab(计划任务)
cron/crontab
作用: 设置好任务可以在指定时间点去执行
语法
# crontab 选项
常用选项:
-l:list,列出指定用户的计划任务列表
-e:edit,编辑指定用户的计划任务列表
-u:user,指定的用户,如果不指定,则表示当前用户
-r:remove,删除指定用户的计划任务列表
1.列出计划任务列表
# crontab -l
2.编辑计划任务
# crontab -e
计划任务的规则语法格式:以行为单位,一行则为一个计划
分 时 日 月 周 需要执行的命令
例子①:想每天0点0分执行reboot 指令,则可以写成
# 0 0 * * * reboot
取值范围:
- 分:0-59取值
- 时:0-23取值,24点即使0点
- 日:1-31取值
- 月:1-12取值,或者直接月份的英文单词
- 周:0-6取值,0或者7表示星期天
特殊符号的含义:
- *:任意/每
- /:指定时间的间隔频率;*/10=每隔十分钟(位于分字段);0-23/3=每隔三小时
- -:代表从某个数字到某个数字:1-10=1号到10号(日字段)
- ,:分开几个离散的数字:2,10-12,21=2号,10号到12号,21号(日字段)
例子②:每月1,12,25日的 4:45 重启 network 服务
# 45 4 1,12,25 * * service network restart
例子③:每周六,周日的1:20 重启 network 服务
# 20 1 * * 6,0 service network restart
# 或
# 20 1 * * 6,7 service network restart
例子④:每天17:00 至 21:00 之间每隔30分钟 重启 network 服务
# */30 17-21 * * * service network restart
例子⑤:每隔两天的上午8点到12点的 第2和第10分钟 重启 network 服务
# 2,10 8-12 */2 * * service network restart
3.crontab权限问题
任何用户都可以创建自己的计划任务。
但是,超级管理员可以通过配置来设置某些用户不允许设置计划任务
方法①(拒绝创建):配置文件位于:/etc/cron.deny (类似黑名单)
# vim /etc/cron.deny
打开后,里面写用户名,一行一个。写完后保存退出,即可。
方法②(允许创建):配置文件 /etc/cron.allow (类似白名单,本身不存在,需要自己创建)
注意:白名单的优先级高于黑名单,如果一个用户同时存在两个名单文件中,则会被默认允许创建计划任务