Linux未来任务的调度——at,batch,crontab命令
  TEZNKK3IfmPf 2024年03月22日 51 0

### 在linux中,我们可以实现对于任务的未来调度,从而可以借助于linux实现半自动化运维操作方式,简而言之就是可以在未来的某个时间点,系统可以自动运行我们部署的任务

前提:

 需要一个准确的时间

 可以支持任务调度的应用程序

**注意**:

 在计划任务中,所有执行的命令的输出结果,这类及结果均以邮件的方式发送至指定的用户邮箱中;

 邮箱的发送:

  mail命令

   mail [-s SUBJECT]  USERNAME[@DOMAINNAME]

   (Ctrd + d发送)

    系统用户的邮箱的目录/var/spool/mail/

 at命令的常用用法:

  at, batch, atq, atrm - queue, examine or delete jobs for later execution

   at [option] timespe

   timespec:

    1.HH:MM [YYYY-mm-dd]

    2.noon,midnight,teatime

    3.tomorrow

    4.now+#UNIT

     UNIT:minutes,hours,days,or weeks

at定义的计划任务都在某个特定的任务队列中;默认at只启用了一个at队列,通常用a表示;

Linux未来任务的调度——at,batch,crontab命令

用at -c 5 命令查看以后,只有最后两行是我们预先写的语句;

Linux未来任务的调度——at,batch,crontab命令

其不难看出通用格式:

 *  *   * *  * user-name command to be executed

分钟 小时 天 月 星期

   注意:

    * * * * *:定义周期性执行计划任务的具体时间;

    user-name:执行此任务的用户;

    command to be executed:此次计划任务的执行主体,建议使用绝对路径;

  用户任务:

   个体性任务通常存放在/var/spool/cron/目录下的与用户名对于的文件中

   此类文件格式:    

    *  *   * *  * command to be execute

时间表示法:

     1.某个特定时间:给定的时间点的有效取值范围内的所有有效值;

       0 3 4 9 * (9月4日3点整执行脚本)

     2.通配符时间:"*",表示"每..."的意思;

     3.离散的时间点:

         0 8,20 * * 1,2,4,5 (周1、2、4、5的8点和20点整执行脚本)

     4.连续的时间段 

        0-10 8-12 * * *

     5.步进时间:

        */3 * * * * 每三分钟执行一次

 

        */9 * * * *:无法真正实现每9分钟执行一次;因此默认情况下,步进长度应该是能够被60整除的数字;

 

        注意:最小的时间单位是分钟,如果计划使用不足一分钟的若干秒为执行周期,则必须借助于其他的机制,如:编写shell脚本;

 crontab命令:

  crontab [-u user] file

      crontab [-u user] [-l | -r | -e] [-i] [-s]

      -u user:超级用户为自己或其他用户设置或编辑周期性任务时使用的选项;

      -l:查看所有的已经被定义好的计划任务列表;

      -e:使用vi编辑器编辑临时的crontab文件;

      -r:移除所有的计划任务;建议谨慎使用;

      -i:在使用-r选项时,能够进行交互式删除;

crontab -e

* * * * * root /usr/bin/date

ls /var/spool/cron/root

里边就会有刚才写的脚本;

mail 

查看邮件内容

显示日期;

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2024年03月22日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年05月31日   51   0   0 linux服务器
  TEZNKK3IfmPf   2024年05月31日   29   0   0 linux服务器centos
  TEZNKK3IfmPf   2024年05月31日   29   0   0 linuxbind
  TEZNKK3IfmPf   2024年05月31日   39   0   0 linuxshell
TEZNKK3IfmPf