系统延迟及定时机制
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了系统延迟及定时机制相关的知识,希望对你有一定的参考价值。
第三单元
系统延迟及定时机制
一 计划定期任务
1 at 命令
at 命令可以指定某一任务在将来的特定时间运行。该作业可能是一次备份、对您系统的检查或者特定时间发的通知。那些需要花费很长时间才可完成的作业正适合 at 命令。仅需使用 at 命令将任务设置为在一分钟或两分钟之后运行。然后您便可以安全注销 , 因为该任务会在与 shell 会话断开连接的情况下运行。
at 命令必须指定任务应运行的时间。该指定可以是具体时间和 / 或日期 ( 例如星期一 , 10:00pm 或 7月 15 日 ) 。也可以是当前时间的相对时间 ( 现在时间加上 5 分钟 , 现在时间加上 3 天或 4:00pm 加1周 ) 通过添加其他选项 , 您可以在任务完成是发送邮件 ( -m ), 或者从文件中读取任务 ( -f 文件 ), 而无需通过标准输入进行。
在键入 at 命令行之后 , 按 Enter键继续输入作业中包含的其他命令。任务可由多个命令组成。在完成enter键输入要运行的命令时,在单独出现的一行中按 Ctrl+d 完成任务。
2 at 命令示例
at命令会把任务放到/var/spool/at目录中,到指定时间运行它
at -l :列出所有指定,也可以用atq
atrm 任务编号 :删除该任务,或者at -d
例:将/mnt 下的文件到20:59删除
例:到21:34执行date。(可到/var/mail/root下查看)
直接mail也可查看在哪,有几份邮件,按q退出:
at now +时间(minutes,hour,days,weeks,...) :任务相对于现在的多少时间后运行
例:
at now + 1min :任务在1分钟后运行
at now + 1hour :任务在1小时后运行
at now + 3 days :任务在3天后运行
at now +2 weeks :任务在两周后运行
例:到时间自动关机
vim /etc/at.allow :只允许名单里的人和root使用at命令(at.allow文件系统没有)
student
:wq
vim /etc/at.deny :不允许名单里的人使用at命令(at.deny文件系统本来就有的)
student
:wq
二 管理定期任务
1 crontab 参数
-l :查看crontab里的内容
-r :删除crontab里的全部内容
-e :编辑crontab文件
-u :指定用户,只有超级用户可以使用
2 corn 时间表示方式
1* 2* 3* 4* 5* command
– 1* : 分钟
– 2* : 小时
– 3* : 天
– 4* : 月
– 5* : 周 (0和7都表示星期天)
例:
* * * * * touch /mnt/file :每分钟在/mnt下建一次文件
查看:cat /var/spool/cron/root 或者 crontab -u root -l
注:使用crontab -e 编辑个人任务不需要写发起者,谁发起的就是谁的任务,可用crontab -e -u user 来指定任务发起者。
*/2 * * * * touch /mnt/file{1..3} :每两分钟执行一次
*/2 09-17 1,15 07-09 2 :7月到9月的1号和15号的9点到到下午5点每两分钟,以及每周周二每两分钟执行一次
* * * 08 2 :8月的每周二每分钟执行一次
* * 1,15 08 2 :8月的1号和15号每分钟执行一次
3 在/etc/cron.d 下创建文件在编辑
要指明用户,而crontab 不用
4 用户白名单,黑名单
在系统中默认所有用户可以设定 cron
vim /etc/cron.allow :用户白名单,只有名单上的人和超级用户可以设定cron
student
:wq
vim /etc/cron.deny :用户黑名单,名单上的人不能设定cron
student
:wq
三 系统中的临时文件
1 控制系统中的临时文件
systemd-tmpfiles
2 系统中的临时文件
系统中服务在正常运行时会产生临时文件在系统中 /usr/lib/tmpfiles.d/ 标实服务的临时文件存放位置。
/usr/lib/tmpfiles.d/和/etc/tmpfiles.d/文件描述了systemd-tmpfiles 如何创建,清理,删除临时文件和目录。配置文件名称为/etc/tmpfiles.d/<program>.conf。此处的配置能覆盖/usr/lib/tmpfiles.d/下的同名配置。
systemd-tmpfiles :
--create /usr/lib/tmpfiles.d/test.conf
--clean /usr/lib/tmpfiles.d/test.conf
以上是关于系统延迟及定时机制的主要内容,如果未能解决你的问题,请参考以下文章