您的位置:首页 > 运维架构 > Linux

Linux Unit15--系统的定时及延时任务

2017-11-01 12:27 495 查看
系统延时任务

1.at 命令

[root@client ~ ]# at 12:12

at> echo hello world

at> <EOT>

job 15 at Sun Oct 29 12:12:00 2017















at -l  -->  列出延时任务id(必须要在命令执行的时间之前,否则无法列出)






at -r 任务id  -->  删除此id的任务(必须要在命令执行的时间之前,否则无法删除)

[b]


[/b]






at -m  -->  让无输出的命令产生邮件






at -M  -->  让有输出的命令不产生邮件

at -c 任务id  -->  查看此id的延时任务的执行动作






at -f 文件  -->  用文件内记录的命令作为延时任务的执行命令



2.at命令的使用控制

默认系统中全部用户都有执行at命令的权利,那么如何设定at命令的黑白名单呢?

1>.用户黑名单(默认情况下,系统中是存在用户黑名单的,黑名单默认情况下为空)

/etc/at.deny  -->  用户黑名单,此名单默认为空,并且在白名单存在时黑名单失效



vim /etc/at.deny

student  -->  student用户使用at命令的权限被禁止













2>.用户白名单

默认系统中是不存在at命令的白名单,但是当白名单出现时,系统中除白名单中出现的用户以及root用户外,其他用户均不能执行at命令。

/etc/at.allow  -->  用户白名单,当白名单出现时,黑名单失效



vim /etc/at.allow

westos  -->  除westos用户以及root用户以外,其他用户均不能执行at命令
















student用户依然不可以执行at命令








3.cron命令

1>.cron这个程序是由crond.service服务提供






2>.crontab -e -u 用户名称(可以不写)  -->  创建当前用户的cron任务

分钟     小时     天     月     周     事件

58          06        *        *       *      rm -rf /mnt/*  -->  每天6:58分删除mnt中的所有内容

58          06       1,15    *      *       rm -rf /mnt/*  -->  每月的1 号和15号的6:58分删除mnt中的所有内容

[b]58          06       1-15    *
4000
     *       rm -rf /mnt/*  -->  每月的1 号到15号的6:58分删除mnt中的所有内容

[/b]

[b]58          06       1,15    3      *       rm -rf /mnt/*  -->  3月的1 号和15号的6:58分删除mnt中的所有内容
[/b]

[b]58          06       1,15    3      3      rm -rf /mnt/*  -->  3月的1 号和15号以及3月的所有周三的6:58分删除mnt中的所有内容
[/b]

[b][b]58          06-17   *        *      *        rm -rf /mnt/*  -->  每天6点到17点,以及每小时的58分删除mnt中的所有内容
[/b][/b]

[b][b]*/30        06-17   *        *      1-5
   rm -rf /mnt/*  -->  周一到周五的6点到17点每隔30分钟删除mnt中的所有内容

[/b][/b]



注意:写入程序的时间和事件是永久保存的






测试:













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

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






/var/spool/cron/*  -->  cron任务记录文件存放位置








4.cron的黑白名单

默认情况下系统中只存在黑名单,当白名单被建立时,黑名单失效。

1>.黑名单

/etc/cron.deny  -->  在此名单中的用户不能执行crontab命令

vim /etc/cron.deny

student  -->  student用户不能执行crontab命令
















2>.白名单

/etc/cron.allow  -->  用户白名单,当此名单出现时,除名单中的用户以及root用户以外其他用户均不能执行crontab命令

touch /etc/cron.allow  -->  建立白名单






更改白名单,添加westos用户











5.用文件的方式执行crontab命令

1>.创建文件

vim /etc/cron.d/westos






测试执行:











2>.创建脚本,用脚本可以直接修改/etc/cron.d/westos文件里的命令,并给脚本添加可执行的权限


















内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  脚本 linux