天天看点

linu - 系统延时与定时任务

系统延时及定时任务

1.系统延时任务

at命令发起的延时任务都时一次性的

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

at -l | atq                             #查看当前任务

atrm  | at -d                        #取消指定任务

at -c                                     #查看任务内容

at now+1min                     #延迟一分钟

at -f file                               #延迟执行文件中的内容

at -m                                    #延迟命令没有输出时仍然发送邮件给执行者

at -M                                    #延迟命令有输出时但不发送邮件给执行者

用监控命令查看  watch -n 1 ls -l /mnt/

<a href="https://s2.51cto.com/oss/201711/01/05671646d2c845cba425f98978c52397.png-wh_500x0-wm_3-wmp_4-s_3406327010.png" target="_blank"></a>

<a href="https://s2.51cto.com/oss/201711/01/16a37dccae7a0d59bdca8d756d86dd4b.png-wh_500x0-wm_3-wmp_4-s_4109558501.png" target="_blank"></a>

查看邮件  mail

#### at 命令的执行权力设定 ####

/etc/at.deny               ##用户黑名单,在此名单中出现的用户不能执行at命令

/etc/at.allow               ##用户白名单,名单默认不存在,但名单一旦出现,黑名单失效

                                    ##系统所有用户默认不能执行at,只有在名单中出现的用户可以使用at命令

<a href="https://s3.51cto.com/oss/201711/01/d4cb0e2abddf3d478be476d9cea722d8.png-wh_500x0-wm_3-wmp_4-s_2449061333.png" target="_blank"></a>

2.定时任务

#定时任务是永久的

#定时任务程序crond,在系统中每分钟做任务扫描

#发起方式一#

crontab -u username -e

crontab -u username -r

crontab -u username -l

分钟     小时    天         月        周          事件

*              *       */2      *          *                                             #每隔两天

12            12      *         *          *          rm -fr /mnt/*            #每天的12:12删除mnt里的内容

*               *         1,2       *         *          rm -fr /mnt/*              #每月的1号和2号删除mnt里的内容

*               *         1-3       *         *         rm-fr /mnt/*             #每月的1号到3 号删除mnt里的内容

*/2            6-18      *        *       1-5       rm -fr /mnt/*            #周一但周五早上6点到下午6点每隔两分钟删除mnt里的内容

  查看状态  systemctl  status crond.service

crontab -e

crontab -l   列出当前用户的cron任务

crontab -r   删除当前用户的cron任务

<a href="https://s2.51cto.com/oss/201711/01/4815ae1f3580b84cc8c875f5478604fc.png-wh_500x0-wm_3-wmp_4-s_2728396316.png" target="_blank"></a>

<a href="https://s1.51cto.com/oss/201711/01/95d449549d56a9c06bbacd63cde6c74c.png-wh_500x0-wm_3-wmp_4-s_3326965036.png" target="_blank"></a>

crontab 命令的执行权力设定

/etc/cron.deny  ##用户黑名单,在此名单中出现的用户不能执行crontab命令

/etc/cron.allow  ##用户白名单,名单默认不存在,但名单一旦出现,黑名单失效

   ##系统所有用户默认不能执行crontab,只有在名单中出现的用户可以使用

<a href="https://s2.51cto.com/oss/201711/01/8731d7c7784ebb1ee7997fde34eab635.png-wh_500x0-wm_3-wmp_4-s_978510320.png" target="_blank"></a>

<a href="https://s1.51cto.com/oss/201711/01/603304424920d1f42d627996fdc03bc1.png-wh_500x0-wm_3-wmp_4-s_1652463024.png" target="_blank"></a>

<a href="https://s5.51cto.com/oss/201711/01/34f9bb507f23fb8cfeae269e4f046238.png-wh_500x0-wm_3-wmp_4-s_3435896369.png" target="_blank"></a>

不同用户执行各自任务

vim  /var/spool/cron/root

* * * * * touch /tmp/file{1,2}

vim /var/spool/cron/student

* * * * * touch /tmp/file{3,4}

<a href="https://s5.51cto.com/oss/201711/01/3c1b4de0759b00ce317b22217289f6d3.png-wh_500x0-wm_3-wmp_4-s_853600407.png" target="_blank"></a>

<a href="https://s4.51cto.com/oss/201711/01/1fd4089fd0dbf20b22dd3213ab45d768.png-wh_500x0-wm_3-wmp_4-s_3906730989.png" target="_blank"></a>

3.系统临时文件的管理

系统中服务在正常运行时会产生临时文件

/usr/lib/tmpfiles.d/*.conf                  ##系统中临时文件的配置

文件类型 文件名称 文件权限 文件所有人 文件所有组 文件存在时间

d  /mnt/westos 777  root  root  10s

systemd-tmpfiles --create /usr/lib/tmpfiles.d/* ##执行临时文件配置

systemd-tmpfiles --clean /usr/lib/tmpfiles.d/* ##清里临时文件

<a href="https://s4.51cto.com/oss/201711/01/d87c95a39a5c35624c55cc95ec14f69a.png-wh_500x0-wm_3-wmp_4-s_2496774635.png" target="_blank"></a>

<a href="https://s2.51cto.com/oss/201711/01/eae58c63886d2252e8c639c9ba0469d8.png-wh_500x0-wm_3-wmp_4-s_2671441877.png" target="_blank"></a>

<a href="https://s1.51cto.com/oss/201711/01/1538ff2f8c5d072451a41b882cef8620.png-wh_500x0-wm_3-wmp_4-s_3476163277.png" target="_blank"></a>

 本文转自 huanzi2017 51CTO博客,原文链接:http://blog.51cto.com/13362895/1978214

继续阅读