linux cron/crontab 计划任务

cron/crontab 计划任务

作用:操作系统不可能24小时都有人操作,可以交给计划任务去执行。

1、语法 #crontab 选项

常用选项
-l: list 列出
-e: edit 编辑
-u : use 如果不指定,则表示当前用户
列出计划任务
A. crontab -l
B. crontab -l -u linux123 (列出用户linux123的计划)

2、编辑计划任务

计划任务的规则语法格式,以行为单位,一行则为一个计划
分 时 日 月 周 需要执行的命令

如果想要每天的0点0分执行reboot命令,则可以写成
0 0 * * * reboot

取值范围 :
分:0 -59
时: 0-23
日:1-31
月:1-12
周:0-6

四个符号:

* :表示取值范围中的每个数字
-:表示区间方式取值,要想表示1~7,则可以写成1-7
/ :表示每多少个,也就是频率,想每分钟一次,则可在分的位置写:*/1
,:表示多个不连续的取值

例如:如果想要每天的0点0分执行reboot指令,则可以写成:
0 0 * * * reboot
问题1:每月1,10,22日的4:45重启network服务:
45 4 1,10,22 * * service network restart

问题2:每周六、周日的1:10重启network 服务:
10 1 * * 6,0 service network restart

问题3:每天18:00至23:00之间每隔30分钟重启network服务:
* /30 18-23 * * * service network restart

问题4:每隔两天的上午8点到11点的第3和第15分钟执行一次重启

3,15 8-11 */2 * * reboot

案例:真实测试案例,每隔1分钟往root家目录的中RT.txt用ls显示/root的内容
crontab -e
*/1 * * * * ls / >> /root/RT.TXT
linux cron/crontab 计划任务

查看任务 crontab -l
linux cron/crontab 计划任务等待一分钟后查看/root/RT.txt cat /root/RT.txt
linux cron/crontab 计划任务

3、crontab的权限问题
任何用户都可以编辑计划任务。所以操级用户是可以限制用户使用crontab的权限
在\etc\cron.deny(黑名单) 编辑
如: 1 linux1 编辑此行。切换用户到linux1,运行corntab –e ,出现不允许的提示,即限制了该用户的使用crontab计划任务。
另外还有一个配制文件(白名单)
/etc/cron.allow (本身不存在,自己创建)
在这个文件再编辑 1 linux 1 ,保存退出。即可以发现linux1用户允许创建计划任务。
注意:白名单优先于黑名单,如果用户同时存在两个名单文件,则会默认允许创建计划任务。