计划任务管理
一、概述
在linux操作系统中,除了用户即时执行的命令操作以外,还可以配置在指定的时间,指定的日期执行预先计划好的系统管理任务(如定期备份等)
二、一次性任务
CentOS7系统中的一次性计划任务是由at软件包提供,通过atd这个服务实现的,并通过at命令进行计划任务的配置,使用at设置的计划任务只会执行一次,并且atd服务必须正在运行
若是最小化安装的系统是没有at的,需要yum安装一下
1、新建任务
at 加时间日期
2、查看任务
atq
3、删除任务
atrm 加任务编号
4、语法格式
5、权限设置
计划任务在/etc/at.deny禁止哪些用户设定计划任务)默认为空
计划任务默认是任何用户都可以执行的:
三、周期性任务
CentOS7系统中的周期性计划任务是由cronie软件包提供,通过crond这个服务实现的,并通过crontab命令进行计划任务的配置
- 系统配置文件目录:/etc/crontab
- 日志存放目录:/var/log/cron*
- 用户cron任务的配置文件存放目录:/var/spool/cron
任务存储在一个以用户名命名的文件中
若配置文件改变不需要重启进程就可以生效,因为crond守护进程会自动检查各个配置文件:/etc/crontab、/etc/cron.d、/var/spool/cron
1、创建任务
crontab -e
每一行代表一个任务
如果没有重定向操作的话,系统会发送邮件给用户,用mail查看,q退出
2、查询任务
crontab -l
3、删除任务
crontab -r
#删除用户所有的任务列表,如果只删除某一个可以用crontab -e进去里面修改
4、管理用户任务
超级管理员root可以用crontab -u 用户名 来管理其他用户的任务计划
5、语法格式
6、权限设置
与at类似,默认所有用户都可以执行crontab设置计划任务,如有需要可以通过在/etc/cron.deny中添加用户来禁止该用户设置计划任务。也可以自行创建/etc/cron.allow来使用白名单。
当系统安排任务计划时:
查找allow文件—>查找deny文件
如果2个文件中存在同一用户,因为allow权限更高所以还是允许该用户创建计划任务
7、配置实例