定时任务和延时任务
系统延时任务及定时任务
延时任务
1.at
at 时间点 指定时间点执行任务
at now+时长 当前时间的一段时长后执行任务
at -l 查看任务列表
at -c 任务号 查看任务内容
at -r 任务号 取消任务执行
at -m 让无输出命令产生邮件
at -M 让有输出命令不产生邮件
ctrl+D 发起任务
例1:at 时间点
例2:at now+时长
例三:at -c 任务号
注意:
当任务有输出时,输出会以邮件形式发送给at任务的发起者
其中:mail -u root 查看超级用户邮件
1 查看第一封邮件
q 退出
>/var/spool/mail/root 清空邮件
2.at任务的黑白名单
- /etc/at.deny: 系统默认存在,在此文件出现的用户不能执行at
- /etc/at.allow: 系统默认不存在,当文件出现,普通用户不能执行at ,只有在名单中的用户可以,并且/etc/at.deny失效
系统定时任务
1.crontab 时间表示方式
分钟 小时 天 月 周
* * * * * 每分钟
*/2 * * * * 每两分钟
22 02 * * * 每天的02:22分
*/2 */2 * * * 每隔两小时每两分钟
*/2 09-17 3,5 1 5 1月的3号和5号和一月的每周5的早9点到晚5点每两分钟
*/2 09-17 * * 5 每周周五的早9点到晚5点每两分钟
man 5 crontab 查看相关配置
2.系统控制cronb的服务
crond.service 当程序开启时定时任务生效
3.crontab命令
crontab -e -u 创建定时任务,不加-u,默认为当前用户
crontab -l -u 列出定时任务
crontab -r -u 删除定时任务
4.文件方式设定
vim /etc/cron.d/file 此目录下的文件只能由root用户编辑
* * * * * username action
* * * * * root rm -rf *
5.crontab的黑白名单
- /etc/cron.deny 系统默认存在,在此文件出现的用户不能执行crontab
- /etc/cron.allow 系统默认不存在,当文件出现,普通用户不能执行crontab ,只有在名单中的用户可以,并且/etc/cron.deny失效, 这两个名单都不会影响/etc/cron.d/目录中定时任务的发起及执行
例一:
例二:
例三:/etc/cron.allow文件中只允许student用户,但在/etc/crond/目录下编辑westos文件,发现westos用户任能执行定时任务
系统中临时文件的管理方式
系统中服务在正常运行时会产生临时文件,在系统中/usr/lib/tmpfiles.d/目录下存放的所有以.conf结尾的文件,所以自己创建的临时文件配置文件必须以.conf结尾
- cd /usr/lib/tmpfiles.d/
- vim westos.conf 文件名自拟
文件类型 文件名 文件权限 文件所有人 文件所有组 文件存在时间
d /mnt/westos 777 root root 8s 表示在/mnt目录下创建临时目录westos,在10s内不允许删除
- systemd-tmpfiles --create /usr/lib/tmpfiles.d/*
- systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*