第三单元 系统延迟及定时机制
1.计划定期任务
at 命令
①at 命令可以指定某一任务在将来的特定时间运行。该作业可能是一次 备份、对您系统的检查或者特定时间发送的通知。那些需要花费很长 时间才可完成的作业正适合 at 命令。仅需使用 at 命令将任务设置 为在一分钟或两分钟之后运行。然后您便可以安全注销 ,因为该任务会 在与 shell 会话断开连接的情况下运行
②at命令必须指定任务应运行的时间。该指定可以是具体时间和 / 或日 期 (例如星期一 , 10:00pm 或 7 月 15 日 )。也可以是当前时间的相 对时间 ( 现在时间加上 5 分钟 , 现在时间加上 3 天或 4:00pm 加上 1 周 )通过添加其他选项 ,您可以在任务完成是发送邮件 ( -m ),或者从 文件中读取任务 ( -f 文件 ),而无需通过标准输入进行
③在键入 at 命令行之后 , 按 Enter 并继续键入作业中包含的其他命令。 任务可由多个命令组成。在完成键入要运行的命令时 ,在单独出现的一 行中按 Ctrl+d 完成任务
2.at命令示例
[root@serverX ~]# at now +2 min
at> echo "Hello from the atcommand" > /dev/pts/0
at><EOT>
job 4 at 2011-08-1014:05
注 : 在将某一 at 作业设置为运行之后 , 可以通过使用 atq 命令列出 作业编号以及次数。若要查看作业中所包含的命令 , 键入 at -c # ( # 号为作业编号 ) 。键入 Atrm # ( # 号为作业编号 ) 则是删除 指定作业。
3.管理定期任务
cron 设备管理必须按计划定期重复运行的程序。后台程序 crond 每分钟唤醒一次 , 以运行计划的任何任务用户使用 crontab 命令计划个人任务。系统管理员可以在系统范围 配置文件中设置任务
单个用户使用称为 crontab ( cron 表 )的文本文件登记任 务
crontab -l 列出文件
crontab -r 删除文件
crontab -e 编辑文件
crontab -e 使用默认编辑器是 vi
4.corn时间表示方式
1* 2* 3* 4* 5* command
–1*----------分钟 –2*----------小时 –3*----------天 –4*----------月 –5*----------周
时间表示示例
5.crontab 注意事项
属于系统的任务通常保存在 /etc/crontab 文件中而不是使 用 crontab -e 编辑保存在个人文件中。更好的做法是用文 本编辑器创建 crontab 文件并保存到 /etc/cron.d 中 (避 免更新系统软件包 cronie 时出现问题 ) 。/etc/cron.d/crontab 文件在日期说明后另加一个字段 ,表 示将运行作业的用户
对于需要每天、每周或每月运行一次的脚本 ,可以直接将其 设置为可执行文件 , 并保存在 /etc/cron.{daily,weekly,monthly} 中相应目录下。这些任务由/etc/anacrontab 配置的系统 anacron 服务运行 anacron 是 cron 的集成组件 ,用于更好地管理作业 ,并确保在作业 因计算机关闭而未运行的情况下 ,在系统引导后运行作业
6.cron权限设定
在系统中默认所有用户可以设定 cron
用户黑名单 –/etc/cron.deny
用户白名单 –/etc/cron.allow
7.系统中的临时文件
系统中服务在正常运行时会产生临时文件
在系统中 /usr/lib/tmpfiles.d/标实服务的临 时文件存放位置
文件示例
vim/usr/lib/tmpfiles.d/test.conf
d /run/test 0700root root 5s
8.控制系统中的临时文件
systemd-tmpfiles
–--create/usr/lib/tmpfiles.d/test.conf
–--clean/usr/lib/tmpfiles.d/test.conf