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

来源:互联网 发布:网络小额贷款合法的吗 编辑:程序博客网 时间:2024/06/05 01:14

系统延时任务

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的任务(必须要在命令执行的时间之前,否则无法删除)



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中的所有内容

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

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

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

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

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

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


测试:




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文件里的命令,并给脚本添加可执行的权限








原创粉丝点击