Linux系统定时任务和延迟任务

1、系统延时任务
at 09:20 #设定任务执行时间
at> rm -fr /mnt/* #输入任务内容
at> < EOF> #当书写完成后按ctrl+d按键结束at界面并发起任务
#注意,这里的< EOF>不是手打上去的,而是ctrl+d后自动产生的
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

at -l #查看任务队列
在这里插入图片描述
at -c 任务号 #查看该号任务内容
在这里插入图片描述
在这里插入图片描述

at -r 任务号 #取消该号任务
在这里插入图片描述
at now+1min #延时一分钟
at> echo hello westos #输入任务内容
at> < EOF>
在这里插入图片描述
当延时任务有输出时,会以发邮件的形式发给任务的发起者

dnf search mail #查找邮件安装包
在这里插入图片描述

dnf install postfix.x86_64 mailx.x86_64 #安装邮件服务和邮件查看工具
在这里插入图片描述
在这里插入图片描述
mail #查看邮件,在其后的&输入邮件号数,可看到邮件内容
在这里插入图片描述
#当任务执行完毕后,可看到延时任务执行完成后发给root用户的邮件
#按q退出邮件查看
在这里插入图片描述

mail -u root #查看超级用户邮件

 > /var/spool/mail/root
#删除邮件

在这里插入图片描述

2、at命令的黑白名单

所有人都可以使用at命令

/etc/at.deny #黑名单,被加入的用户不可使用at命令
/etc/at.allow #白名单,创建白名单之后系统中所有普通用户不能执行at命令,只有在白名单中的用户是被允许的
#注意,超级用户不受白名单限制
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3、系统定时任务

crontab时间表示方式

分钟  小时        日      月 星期
*/2    09-17     3,5     1    5          

#1月的3号和5号,还有每个星期五,从9点到17点,每两分钟执行一次

  *   *    *   *   *   #每分钟
*/2   *    *   *   *  #每两分钟

在这里插入图片描述
在这里插入图片描述
crond.service #当程序开启时定时任务生效
systemctl enable --now crond.service #开启服务
在这里插入图片描述
crontab -e #设定
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

crontab -l #列出任务
crontab -r #删除任务
在这里插入图片描述
ccrontab -e -u root #发起任务且指定用户为超级用户
在这里插入图片描述
在这里插入图片描述
/var/spool/cron/root #crontab任务存放位置,谁发起的crontab文件名字就是谁
在这里插入图片描述
4、crontab命令的黑白名单

/etc/cron.deny #黑名单,被加入的用户不可使用crontab命令
/etc/cron.allow #白名单,创建白名单之后系统中所有普通用户不能执行crontab命令,只有在白名单中的用户是被允许的
#注意,超级用户不受白名单限制
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、系统级别的cron (以文件方式)
在这里插入图片描述
在这里插入图片描述
路径:/etc/cron.d/
vim westos
在这里插入图片描述
在这里插入图片描述
#指定每秒由用户root,建立/mnt/westosfile{1…5}
在这里插入图片描述
在这里插入图片描述

#而且因为是系统级别的cron,所以使用crontab -l 查看不到
在这里插入图片描述
6、系统中临时文件的管理方式

systemd-tmpfiles --cat-config
可以用来查看临时文件建立的策略
在这里插入图片描述
/usr/lib/tmpfiles.d/ #临时文件路径
vim westos.conf #建立临时文件,后缀必须为.conf
在这里插入图片描述
在这里插入图片描述
d /mnt/westos 1777 root root 5s
#d文件类型为目录;/mnt/westos为文件路径和名称;1777为文件权限,root文件用户,root文件用户组;5s为/mnt/westos/下的文件生命周期

systemd-tmpfiles --create /lib/tmpfiles.d/westos.conf
#使书写的临时文件生效
在这里插入图片描述
systemd-tmpfiles --clean /lib/tmpfiles.d/westos.conf
#清理临时文件,但只有在临时文件到达生命周期才能删除,否则删不掉
#像这里5s过后,清掉的是之前建立在/mnt/westos/里的westosfile1文件,而并非/mnt/westos/目录本身
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

systemd-tmpfiles --clean /lib/tmpfiles.d/*.conf
#想在系统清理掉所有临时文件可用此命令

猜你喜欢

转载自blog.csdn.net/shanshuyue/article/details/113438920