16、Linux系统定时任务及延迟任务(at与crontab的用法、临时文件的管理)

一、系统延时任务at

1、at的基本用法

at -l  ##查看任务列表
at -c 任务号  ##查看任务内容
at -r 任务号  ##取消任务执行
at now+1min  ##延时1分钟

<Ctrl>+<D>:发起任务
任务执行完毕,任务号会自动消失
在这里插入图片描述

在这里插入图片描述

2、有输出任务——邮件

  • 当任务有输出时,输出会以邮件的型是发送给at任务的发起者
  • 邮件存放地址:/var/spool/mail
dnf install postfix mailx -y  ##安装邮件软件
systemctl enable --now postfix  ##开启邮件服务
mail -u root  ##查看超级用户邮件
> /var/spool/mail/root  ##清空邮件

在这里插入图片描述

二、at任务的黑白名单

  • 系统默认所有用户都可以使用at

1、at黑名单:
/etc/at.deny:系统中默认存在,在此文件中出现的用户不能执行at
将root用户加入黑名单后,root用户仍可以正常使用at
在这里插入图片描述
2、at白名单:
/etc/at.allow:系统中默认不存在,当文件出现,普通用户不能执行at,只有在名单中的用户可以,并且/etc/at.deny失效
在这里插入图片描述

三、系统定时任务crontab

  • 任务保存文件:/var/spool/cron/username
  • 系统控制crontab的服务:crond.service,当服务开启时定时任务生效

1、crontab 时间表示方式

使用man 5 crontab查询时间表示
在这里插入图片描述
在这里插入图片描述

2、crontab命令

任务保存位置:/var/spool/cron/root
任务删除后文件会自动消失

crontab -u root -e  ##创建定时任务
crontab -u root -l  ##查看定时任务
crontab -u root -r  ##删除定时任务

在这里插入图片描述

3、有输出的定时任务——邮件

  • 邮件存放地址:/var/spool/mail

(1)产生输出结果:每分钟都会发送一封邮件
在这里插入图片描述
(2)避免一直发送邮件

1>将邮件倒入垃圾箱:

* * * * * echo hello &> /dev/null

2>编辑配置文件,不让crontab发送文件:

vim /etc/sysconfig/crond
systemctl restart crond.service #重启crond服务

在这里插入图片描述

四、系统级别的cron

  • 以文件方式设定定时任务
vim /etc/cron.d/file

在这里插入图片描述
在这里插入图片描述

五、crontab的黑白名单

  • 系统默认所有用户都可以使用crontab
  • 用法与at类似,多一个系统级别的crontab

1、黑名单:
/etc/cron.deny:系统中默认存在,在此文件中出现的用户不能执行crontab
2、白名单:
/etc/cron.allow:系统中默认不存在,当文件出现,普通用户不能执行crontab,只有在名单中的用户可以,并且/etc/cron.deny失效
3、这两个名单都不会影响/etc/cron.d/目录中定时任务的发起及执行

六、系统中临时文件的管理方式

  • 临时文件存放目录:/usr/lib/tmpfiles.d/
  • 临时文件只能用systemd-tmpfiles 去清理,用 rm -fr 会错误删除一些正在使用的文件
cd /usr/lib/tmpfiles.d/  ##切换到临时文件目录
vim sk.conf  ##编写临时文件
systemd-tmpfiles --help  ##查看用法帮助
systemd-tmpfiles --create /usr/lib/tmpfiles.d/sk.conf  ##创建临时文件
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/sk.conf  ##删除临时文件,需文件保留设定时间完毕
cat sk.conf
d /mnt/sk 1777 root root 10s  
## 'd':目录,‘1777’:权限,‘root’:用户及用户组,‘10s’:临时文件保留时间
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值