一、系统延时任务
##at命令发起的延时任务都时一次性的
1.at 命令可以指定某一任务在将来的特定时间运行。该作业可能是一次备份、对您系统的检查或者特定时间发送的通知。那些需要花费很长时间才可完成的作业正适合at 命令。仅需使用 at 命令将任务设置为在一分钟或两分钟之后运行。然后您便可以安全注销 , 因为该任务会在与 shell 会话断开连接的情况下运行
2.at 命令必须指定任务应运行的时间。该指定可以是具体时间和 / 或日期 ( 例如星期一 , 10:00pm 或 7 月 15 日 ) 。也可以是当前时间的相对时间 ( 现在时间加上 5 分钟 , 现在时间加上 3 天或 4:00pm 加上1 周 ) 通过添加其他选项 , 您可以在任务完成是发送邮件 ( -m ), 或者从文件中读取任务 ( -f 文件 ), 而无需通过标准输入进行
3.在键入 at 命令行之后 , 按 Enter 并继续键入作业中包含的其他命令。
任务可由多个命令组成。在完成键入要运行的命令时 , 在单独出现的一
行中按 Ctrl+d 完成任务at + time
[root@demo ~]# at 11:11
at> rm -fr /mnt/* ##延迟动作
at> <EOT> ##ctrl+d表示发起动作
job 6 at Tue Aug 1 11:11:00 2017
4.示例
[root@localhost Desktop]# at now +2 min
at> echo "hello world" >/dev/pts/0
at> <EOT>
job 1 at Tue Oct 31 09:27:00 2017
图示:示例结果
at -l | atq #查看当前任务
atrm | at -d 任务id #取消指定任务
at -c 任务id #查看任务内容
at now+1min #延迟一分钟
at -f 文件 #延迟执行文件中的内容
at -m #延迟命令没有输出时仍然发送邮件给执行者
at -M #延迟命令有输出时但不发送邮件给执行者
图示:查看当前任务
图示:延迟执行文件中的内容
默认系统中全部用户第都有执行at命令的权力,那么如何让设定at命令的黑名单
#at命令黑名单
/etc/at.deny ##用户黑名单,在此名单中出现的用户不能执行at命令
vim /etc/at.deny
student ##student使用at命令权力被禁止
图示:黑名单内容
[student@node1 ~]$at now+1min
You do not have permission to use at. #student不能使用at命令
图示:student不能执行命令
#at命令白名单
/etc/at.allow ##用户白名单,名单默认不存在,但名单一旦出现,黑名单失效
touch /etc/at.allow ##建立用户白名单,当白名单出现,黑名单失效
vim /etc/at.allow
westos
图示:白名单内容
##系统所有用户默认不能执行at,只有在名单中出现的用户可以使用at命令
图示:westos可以执行命令
二、管理定期任务
1.cron 设备管理必须按计划定期重复运行的程序。后台程序crond 每分钟唤醒一次 , 以运行计划的任何任务用户使用crontab 命×××个人任务。系统管理员可以在系统范围配置文件中设置任务
2.单个用户使用称为 crontab ( cron 表 ) 的文本文件登记任
务【可搭配使用】
crontab -u username -e ##建立当前用户新的cron任务
crontab -u username -r ##删除当前用户的cron任务
crontab -u username -l ##列出当前用户的cron任务
crontab -e -u student以普通用户student身份发起编辑内容
图示:编辑内容
图示:执行结果
3.表示方式
1*2*3*4*5* command
--1* ---分钟
--2* ---小时
--3* ---天
--4* ---月
--5* ---周
示例:
vim /mnt/file
crontab -e -u 用户名称(可以不写)
分钟 小时 天 月 周 动作
* * * * *
58 06 1,15 * * rm -fr /mnt/* #每天6:58分删除mnt中的所有内容
58 06 1-15 * * rm -fr /mnt/* #每月1号到每月15号的6:58删除mnt中所有内容
58 06 1,15 3 3 rm -fr /mnt/* #3月1号和15号以及3月的所有周三
*/30 06-17 * * 1-5 rm -fr /mnt/* #周一到周五的早上6点到下午5点每隔半小时
5.crontab 命令的执行权力设定
用户黑名单
/etc/cron.deny ##用户黑名单,在此名单中出现的用户不能执行crontab命令
用户白名单
/etc/cron.allow ##用户白名单,名单默认不存在,但名单一旦出现,黑名单失效
##系统所有用户默认不能执行crontab,只有在名单中出现的用户可以使用
6.文件方式定义crontab
vim /var/spool/cron/用户名称 #以某个用户身份执行crow,文件名称必须和用户必须一致
分 时 天 月 周 动作
vim /etc/cron.d/文件
分 时 天 月 周 动作
[kiosk@foundation60 Desktop]$ cat >>westos <<EOF
> * * * * * root touch /tmp/file{1..2}
> * * * * * student touch /tmp/westos{1..2}
> EOF
[kiosk@foundation60 Desktop]$ cat westos
* * * * * root touch /tmp/file{1..2}
* * * * * student touch /tmp/westos{1..2}
图示:文本方式建立文件
三、系统临时文件的管理
1、系统中服务在正常运行时会产生临时文件
2、在系统中 /usr/lib/tmpfiles.d/标实服务的临时文件存放位置
3、文件示例
vim /usr/lib/tmpfiles.d/*.conf ##系统中临时文件的配置
文件类型 文件名称 文件权限 文件所有人 文件所有组 文件存在时间
d /mnt/westos 777 root root 10s
图示:追加到/mnt/westos
4.控制系统中的临时文件
systemd-tmpfiles --create /usr/lib/tmpfiles.d/* ##执行临时文件配置
图示:执行临时文件配置