Linux系统之系统延迟和定时机制

来源:互联网 发布:young网络存在安全隐患 编辑:程序博客网 时间:2024/06/05 15:58

一、系统延时

  1、at延时:at命令可以指定某一任务在将来的特定时间执行(必须指定时间

     (1)at time  :指定某一任务在将来的time时刻进行执行

       

     图中指定在17:51分执行删除当前目录中的所有内容,at中要执行的命令写好后,按“ctrl + d”退出,图中2位置!!

      

      在17:51后,当前目录中的文件全部被删除掉了!!!

(2)at -l :列出当前系统中的延时任务及其任务号

        

      上图中at now+1min表示指定任务的延时时间为当前时间加一分钟,即当前时间一分钟后执行!!

      执行at -l后,最前面的数字为延时命令的任务号,可以根据任务号进行删除任务!!

(3)at -r 任务号:删除未执行的指定任务号的延时任务

        

       删除任务号为2的任务后,系统中就不再有该延时任务!!!

(4)at -c 任务号:查看此任务号的延迟任务的执行动作

         

         

 2、at延时命令的黑白名单

   (1)黑名单:at延时命令的黑名单是系统存在的,当在该黑名单中写入用户名称,则被写入的用户不能执行at命令

             注意:黑名单必须由超级用户设定!!!

             命令:vim /etc/at.deny 

             

         在黑名单中写入kiosk用户后,该用户在执行at命令时被提示没有权限使用at !!!

   (2)白名单:at延时命令的白名单存在时,除了白名单中的用户和root用户以外,其他用户不能使用at命令。

             注意:默认系统中不存在白名单,需要自己创建,当白名单创建生效后,黑名单则为无效!!!

             命令:vim /etc/at.allow

           

     在白名单中写入kiosk用户后,黑名单就失效了。此时该用户可以使用at命令,如上右图!!!

二、cron(计划任务)服务器

    1、cron程序是由crond.service提供的,写入该程序的时间和事件是永久保存的!!

    2.cron设定方式

      (1)crontab -e -u 用户名称(名称可以不写)

                

                

         该命令编写的内容中,第一列表示分钟;第二列表示小时;第三、四、五列表示天、月、周,其中*表示每天、每月、每周;

         每周后面的内容即为要在这些时间中所有执行的任务。

         如上图第一行表示:在每天的7:00删除/mnt/westos目录下的所有内容!!

     (2)crontab -l:显示系统中的计划任务

               

     (3)crontab -r :删除系统中的计划任务

                

    (4)cron任务记录文件存放位置:/var/spool/cron/*

             

    3、cron的黑白名单设置

    (1)黑名单:黑名单是系统默认存在的,写入黑名单的用户将无法执行cron命令

                命令:vim /etc/cron.deny

              

               

              将kiosk用户写入黑名单后,当用该用户执行crontab命令时系统会提示无法没有权限执行!!!

               

            而黑名单中没有westos用户,所以westos用户可以执行crontab命令!!

   (2)白名单:系统中默认没有白名单,需要自己创建,白名单创建生效后,黑名单将不再生效!!!

              命令:vim /etc/cron.allow

             

          将kiosk用户写入白名单后,黑名单则失效,kiosk可以执行crontab命令!!

           

          而westos用户不在白名单中,其不能执行cron任务命令!!!