linux系统之计划任务

linux系统之计划任务

1、crontab命令 – 定时执行任务

crontab是英文“cron table”的简写。该命令被用来提交和管理用户的需要周期性执行的任务,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。

Linux下的任务调度分为两类,系统任务调度用户任务调度

系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。/etc/crontab文件是系统任务调度的配置文件。用户任务调度:用户定期要执行的工作,比如用户数据备份、定时邮件提醒等。用户可以使用 crontab 工具来定制自己的计划任务。所有用户定义的crontab 文件都被保存在 /var/spool/cron目录中。其文件名与用户名一致。

语法格式:crontab [参数]

-e 编辑该用户的计时器设置
-l 列出该用户的计时器设置

-r 删除该用户的计时器设置
-u 指定要设定计时器的用户名称
–help 显示帮助信息

(1)列出定时执行任务
在这里插入图片描述
(2)编辑计划任务(重点)
计划任务的规则语法格式,以行为单位,一行则为一个计划。
分 时 日 月 周 需要执行的命名
分 时 日 月 周 需要执行的命名
分 时 日 月 周 需要执行的命名

取值范围:
分:0~59
时:0~23
日:1~31
月:1~12
周:0~6,0表示星期天

四个符号:
*:表示取值范围中的每一个数字
-:做连续区间表达式的,要想表示1~7,则可以写成:1-7
/:表示每多少个,例如:想每10分钟一次,则可以在分的位置写: */10
,:表示多个取值,比如想在1点,2点6点执行,则可以在时的位置写:1,2,6

问题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 * * service network restart

案例:每1分钟往root家目录a.txt输入时间信息
在这里插入图片描述
在这里插入图片描述

2、crontab权限问题:

Crontab 权限问题:本身是任何用户都可以创建自己的计划任务
root可以禁止其他用户创建创建计划任务 /etc/cron.deny 里面写用户,一行一个
在这里插入图片描述
还可以配置一个(白名单)
/etc/cron.allow (本身不存在,自己创建)
在这里插入图片描述

注意:白名单优先于黑名单,如果一个用户同时存在俩个名单中,则默认允许创建计划任务。

发布了91 篇原创文章 · 获赞 2 · 访问量 7052

猜你喜欢

转载自blog.csdn.net/qq_43211632/article/details/104667780