2.4.1 系统延时任务
at -l #查看任务列表
at -c ##查看人物内容
at -r ##取消任务执行
at 11:11 设定任务执行时间
at > rm -fr /mnt/* 任务动作
at > <EOT> <<Ctrl+D 用ctrl+D发起任务
at now+1min 延时1分钟
at > rm -fr /mnt/*
at > <EOT>tips:当任务有输出时,输出会以邮件的形式发送给at任务的发起者
mail -u root ##查看超级用户邮件
1 ##查看第一峰邮件
q ##退出
2.4.2 任务黑白名单
/etc/cron.deny #系统中默认存在,在此文件中出现的用户不能执行cron(黑名单)
/etc/cron.allow #系统中默认不存在,当文件出现所有普通用户不能执行cron只有在名单上的用户可以,并且/etc/cron.deny失效
2.4.3 系统定时任务
/var/spool/cron/username ##任务保存文件
1、crontab 时间表示方式
* * * * * ##每分钟
*/2* * * * ##每两分钟
*/2 09-17* * * ##早9-晚5每两分钟
*/2*/2* * * ##每隔2小时每2分钟
*/2 09-13 3,5 1 5 ##一月的3号和5号及每周五 9点到13点 每隔辆分钟
*/2 09-13* * 5 ##每周周五早9晚五
2、系统控制crontab的服务
crond.service ##当程序开启时定时任务生效
3、crontab
crontab -e -u ##建立定时任务文件 crontab -u root -e touch /mnt/file
crontab -l -u ##查看定时任务
crontab -r -u ##删除定时任务
4、crontab的黑白名单
/etc/cron.deny ##系统中默认存在,在此文件中出现的用户不能执行crontab
/etc/cron.allow ##系统默认不存在,当文件出现普通用户不能执行crontab,只有在
echo lee > /etc/cron.allow ##重定向直接写入文件
名单中的用户可以,并且/etc/at.deny失效,这两个名单都不会影响/etc/cron.d/目录中定时任务的发起和执行
2.4.4 日志和邮件
当crontab执行定时任务时,输出结果不会出现在shell,而是以邮件的方式发送到任务发起者的邮箱中
/var/log/cron ##日志文件
/var/spool/mail/root ##邮件文件
/etc/crontab ##添加定时任务
/etc/sysconfig/crond ##设置邮件/日志是否接受
dnf install postfix mailx ##安装服务邮件
systemctl enable --now postfix ##打开服务
systemctl restart crond.service ##重启服务(重启服务后定时服务才会重新读取邮件服务)
vim /etc/sysconfig/crond ##编辑定时任务是否接受邮件或日志
CRONDARGS= -m(邮件) -s(日志)
vim /etc/crontab ##添加定时任务
MAILTO="root": ##添加定时任务发起用户root
systemctl restart crond.service ##重启服务识别
tips:屏蔽无用邮件fangfa:1、在定时任务发起时 在定时语句后加 &> /dev/null (将邮件扔空)
2、在/etc/sysconfig/crond文件下编写(CRONDARGS= -m(邮件)off -s(日志))
3、设置接受对象为空vim /etc/crontab (MAILTO="":)
mail命令:
mail -u root ##打开root用户邮件
mail -s "test mail" root ##编写”test mail“的邮件并发送主机 以.结束编写
2.4.5 系统临时文件的管理方式
脚本文件的建立 cd /etc/cron.
vim test.sh
cp text.sh /etc/cron.hourly/
chmod +x /etc/cron.hourly/text.sh
cd /etc/cron.d
vim westos
***** root rm -rf /mnt/*
实验步骤:
vim /lib/tmpfiles.d/westos.conf ##创建临时文件目录
d /mnt/westos 1777 root root 5s ##在该目录下创建的文件5s后会被系统的临时文件清除命令清除
systemd-tmpfiles --create /lib/tmpfiles.d/westos.conf ##加载上述文件
systemd-tmpfiles --clean /lib/tmpfiles.d/westos.conf ##手动清除临时文件vim /etc/cron.d/westos ##编写临时文件定时任务,自动化清除临时文件
01 * * * * root systemd-tepfiles --clean /lib/tmpfiles.d/*.conf ##在一天后执行清除临时文件命令