系统设定一次性延时任务
使用at计划一次性任务
可供Red Hat Enterprise Linux系统用户用来计划将来任务的解决方案之一是at,这不是单机工具,而是一个系统守护进程(atd),它有一组命令行工具可与守护进程(at,atq等等)进行交互。在默认的操作系统安装过程中,atd守护进程将自动安装和启用。atd守护进程可以在at软件包中找到
at命令发起的延时任务都是一次性的
at 时间点 ---- 在指定的时间进行任务
at now ---- 立刻执行任务
at now+时间段 ---- 过多久之后执行任务
- 设定延时任务:在08:27 时,在/mnt中新建五个file文件
at -l | atq ---- 查看当前任务
at -c ---- 查看延迟任务的内容
at -r ---- 取消当前任务
- 三种命令的用法,at -c at -r 后要跟任务编号
at命令权限的设定
/etc/at.deny ##用户黑名单,在此名单中出现的用户不能执行延时任务
/etc/at.allow ##用户白名单,默认不存在,但名单一旦存在,黑名单失效,除了白名单中的用户,其他用户均无法执行延时任务
黑白名单对root用户不生效,root用户拥有最高执行权限
- 编辑黑名单,名单中的用户无法使用at命令
- 新建白名单,此时黑名单失效,白名单以外的用户无法使用at命令
系统设定永久定时任务
使用crontab命令设定用户级周期性作业
Red Hat Enterprise Linux系统附带了特别针对周期性作业的crond守护进程,且默认开机启动并启动,crond是由多个配置文件和系统范围内的文件控制的,每个用户对应一个配置文件
systemctl start crond.service ---- 定时任务程序crond,在系统中每分钟做任务扫描
crontab -e ---- 编辑当前用户的计划任务
crontab -r ---- 删除当前用户的计划任务
crontab -l ---- 查看当前用户的计划任务
crontab -u username -e/-r/-l ---- 以当前用户指定某个用户操作计划任务
/var/spool/cron/username/ 定时任务存放位置
周期性表示方式:
* * * * * 分别表示 分 时 天 月 周 (其中,天与周为同级,周设定0或7没有区别)
* * * * * 每一分钟 (每月每天每小时每分钟)
*/2 * * * * 每两分钟 (/num 表示每num x)
*/2 09,17 * * * 每天早上的九点到十点之间,下午五点到六点之间每隔两分钟
*/2 09-17 * * * 每天早上九点到下午五点之间每隔两分钟
*/2 09-17 1,15 7 2 每个七月的一号和十五号和周二的每天早上九点到下午五点之间每隔两分钟
crontab -e 中编辑的内容;
周期 + 命令 例如: * * * * * touch file
- 开启crond服务
- 设定每两分钟进行/mnt目录下文件的删除
- 取消计划任务
编辑crond文件设定系统级周期性作业
/etc/cron.d/ 中新建文件
文件格式:周期+用户+动作
例如: * * * * * root rm -f /mnt/*
crontab 命令权限的设定
/etc/cron.deny ---- 用户黑名单,在此名单中出现的用户不能执行定时任务
/etc/cron.allow ---- 用户白名单,默认不存在,但名单一旦存在,黑名单失效,除了白名单中的用户,其他用户均无法执行定时任务
如果某用户westos被写入黑名单,那么在westos用户下不能够指定某用户进行定时任务,但是其他用户可以指定westos用户进行定时任务
- 将student用户添加至黑名单
- student用户无法指定任何用户(包括自己)进行定时任务,但是其他用户可以指定student用户进行定时任务
系统临时文件的管理
系统中服务在正常运行时会产生临时文件
/usr/lib/tmpfiles.d/*.conf ---- 系统中临时文件的配置
文件类型 文件名称 文件权限 文件所有人 文件所有组 文件存在时间
d /mnt/westos 777 root root 10s
systemd-tmpfiles --create /usr/lib/tmpfiles.d/* ---- 执行临时文件配置
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/* ---- 清理临时文件