Linux之系统延时任务及定时任务

##### 1.系统延时任务的发起 #####

    [root@localhost ~]#at 23:37        ##设定任务发起时间
    at> rm -fr /mnt/*            ##任务动作
    at> <EOT>   <<Ctrl+D            ##用Ctrl+D发起任务

    [root@localhost ~]#at now+1min        ##延时一分钟
    at> rm -fr /mnt/*
    at> <EOT>   <<Ctrl+D

    at -l                ##查看任务列表


    at -c    任务号            ##查看任务内容


    at -r    任务号            ##取消任务执行

    注意:
    当任务有输出时,输出会以邮件的形式发送给at任务的发起者

^ 任务有输出

^ 新邮件提醒
    mail -u root            ##查看邮件
    1                ##查看第一封
    q                ##退出

    > /var/spool/mail/root        ##清空邮件

##### 2.at任务的黑白名单 #####

    /etc/at.deny     ##系统中默认存在,在此文件中出现的用户不能执行at


    /etc/at.allow    ##系统中默认不存在,当文件出现,普通用户不能执行at
                            ##只有在白名单中的用户可以,并且/etc/at.deny失效

^ 当/etc/at.allow文件出现时,/etc/at.deny失效。

^ /etc/at.allow文件中没有出现名字的普通用户均没有权限。


##### 3.系统定时任务 #####

    1.crontab 时间表示方式
    * * * * *                        ##每分钟
    */2 * * * *                     ##每两分钟
    */2 09-17 * * *            ##早7到晚5每两分钟
    */2 */2 * * *                  ##每两小时两分钟
    */2 09-17 3,5 1 5    ##3月和5月每周五及3月1日和5月日
    */2 09-17 * * 5           ##每周五早9点晚5点

    2.系统控制crontab的服务
    crond.service        ##当程序开启时定时任务生效
    anacron                 ##错过的定时任务检测程序


    
    3.crontab命令


      crontab -e -u        ##编辑任务

^ student用户每分钟打印“hello world”


      crontab -l -u        ##查看任务


      crontab -r -u        ##删除任务


 ##只有超级用户可以-u指定用户,普通用户只能对自己的任务进行操作

    4.定时任务文件

    /etc/cron.d/xxx
    * * * * * username action    ##此目录中任务不能用命令查看,只有超级用户可以写入

^ crontab -l -u 不能查看。

    5.crontab的黑白名单
    /etc/cron.deny             ##系统中默认存在,此文件中的用户不能执行crontab


    /etc/cron.allow            ##系统中默认不存在,当文件出现普通用户不能执行crontab,
                                         ##只有名单中的用户可以并且/etc/cron.deny失效


    ##这两个名单都不会影响/etc/cron.d/目录中定时任务的发起执行


    
##### 4.系统中临时文件的管理 #####

    cd /usr/lib/tmpfiles.d


    vim westos.conf             ##修改配置文件


    d /mnt/westos    777 root root 8s 

#当创建文件或目录时,如果/mnt/westos不存在,就会以此属性创建目录。

如果执行systemd-tmpfiles --clean ,此目录下1h内没有被access、change和modified 的文件或目录会被删除。


    systemd-tmpfiles --create /usr/lib/tmpfiles.d/*         ##根据xxx.conf的内容创建文件或目录
    systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*
          ##根据xxx.conf的内容清除文件或目录

猜你喜欢

转载自blog.csdn.net/Sangyumo/article/details/81407233