系统延时任务
1)
at
时间 #设定任务,指定时间执行
now+1min #一分钟之后执行
-l #查看任务队列
-c + 任务号 #查看任务内容
-l +任务号 #取消任务
ctrl+d #任务发起
#延时任务有输出的会自动发到邮箱
2)查看
dnf install mailx.x86_64 postfix.x86_84 #下载邮件组件
systemctl enable --now postfix #开启邮件服务
mail #查看邮件
ctrl+d #退出邮件查看
3)at命令执行权限设定
vim /etc/at.allow #白名单
vim /etc/at.deny #黑名单
#优先看白名单,有白名单之后,不会在检测黑名单
#白名单被创建,只有在白名单中的普通用户,才能执行,其他普通用户不可以执行
注:chmod /etc/at.allow
#vim /etc/at.deny vim /etc/at.allow
系统定时任务
1)
systemctl enable --now crond.service #开启crond服务,系统默认开启
crontab
-e #执行
-l #查看内容
-r #删除
-e -u #指定用户执行(只有root可以执行)
#谁写的crontab文件名字就是谁
/var/spool/cron/root #任务存放地址
/etc/crontab 这个文件负责调度各种管理和维护任务
2)时间表示方式
minute hour day month week #总共五位,每一位上代表不同含义
-
-
-
-
-
#每分钟执行一次
-
-
-
-
*/2 * * * * #每两分钟执行一次
*/2 */2 * * * #每隔两小时每两分钟
*/2 09-17 3,5 1 5 #一月的3号和五号,以及每个周五,九点到17点,每两分钟执行一次
*/2 09-17 * * 5 #每周五早上九点到五点,每两分钟执行一次
“/”:为特别单位,表示为“每”如“0/15”表示每隔15分钟执行一次,“0”表示为从“0”分开始, “3/20”表示表示每隔20分钟执行一次,“3”表示从第3分钟开始执行
“?”:表示每月的某一天,或第周的某一天
“L”:用于每月,或每周,表示为每月的最后一天,或每个月的最后星期几如“6L”表示“每月的最后一个星期五”
“W”:表示为最近工作日,如“15W”放在每月(day-of-month)字段上表示为“到本月15日最近的工作日”
““#”:是用来指定“的”每月第n个工作日,例 在每周(day-of-week)这个字段中内容为"6#3" or “FRI#3” 则表示“每月第三个星期五”
3)权限设定
#与上面延时任务设定相似
vim /etc/cron.deny #黑名单
vim /etc/cron.allow #白名单
4)系统级权限设定
/etc/cron.d #存放目录
系统默认读取/etc/cron.d
6)临时文件管理
#存放目录 /lib/tmpfiles.d/
systemd-tmpfiles
–clean Clean up marked directories
–create Create marked files/directories
–cat-config Show configuration files
#查看临时文件策略
#d /mnt/westos 1777 root root 50s
文件类型+地址+权限+所属组+所有人+文件寿命
#systemd-tmpfiles --clean /lib/tmpfiles.d/westos.conf
等文件寿命到后才可删除, rm -rf 会直接删除,在系统可能会出现问题