crontab计划任务
标签(空格分隔):linux
1.作用
操作系统不可能24小时都有人在操作,有些时候需要在指定时间点去执行任务(如凌晨2点)。
此时可以交给计划任务程序去执行操作
2.语法
# crontab 选项
常用选项:记前2
-l:list,列出指定用户的计划任务列表
-e:edit,编辑指定用户的计划任务列表
-u:user,指定的用户名,如果不指定,默认当前用户
-r:remove,删除指定……
3.如何编写计划任务
规则语法格式
以行为单位,一行为一个计划
分 时 日 月 周 需要执行的命令
分 时 日 月 周 需要执行的命令
例如:每天的0点0分 执行reboot
0 0 * * * reboot
取值范围
分:0~59
时:0~23
日:1~31
月:1~12
周:0~6,0表示星期天
四个符号
*:取值范围内每一个数字
-:区间表达,想表示1~7,则可以写成1-7
/:表示每多少个,如每10分钟一次,在分的位置写*/10
,:表示多个取值,如在1点,2点,7点执行,则可以在时的位置写:1,2,6
案例1
每月1、10、22日的4:35重启httpd服务
35 4 1,10,22 * * service http restart
案例2
每周六,周日的2:22重启httpd服务
22 2 * * 6,0 service http restart
案例3
每天16:00至21:00之间每隔30分钟重启http服务
*/30 16-21 * * * service http restart
案例4
每隔3天的上午7点到11点的第4和第44分钟执行一次重启
4,44 7-11 */3 * * reboot
真实测试案例
每1分钟在/home/中ll.txt中输出haha,使用追加输出
*/1 * * * * echo “haha” >> /home/ll.txt
4.crontab权限问题
本身是任何用户都可以创建自己的计划任务
root可以通过配置来改变,来限制某用户无法创建计划任务
配置文件:/etc/cron.deny(黑名单)
有可能没有此配置文件,可自行创建。在此配置文件中,一行一个用户名,即可限制用户创建计划任务。
/etc/cron.allow (白名单)
若一个用户同时存在两个名单中,白名单优先