首页 > 代码库 > 系统延迟及定时机制

系统延迟及定时机制

第三单元

系统延迟及定时机制

 

计划定期任务

 

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

 技术分享


系统延迟及定时机制