20.Linux中的计划任务

作者: 一枼落知天下 | 来源:发表于2019-03-10 16:36 被阅读33次

    Linux中的计划任务
    At单次执行计划任务
    cron 计划任务的使用
    计划任务:在某个时段自动执行某个任务。

    Linux 系统中;
    At cron

    [root@JhouShuai ~]# which at
    /usr/bin/at
    [root@JhouShuai ~]# which crontab 
    /usr/bin/crontab
    [root@JhouShuai ~]# 
    
    

    at # 只能执行一次

    语法:
    at 时间
    服务:atd 必须开启

    [root@JhouShuai ~]# ps -aux | grep atd
    root       1029  0.0  0.0  25904   944 ?        Ss   12:16   0:00 /usr/sbin/atd -f
    root       5765  0.0  0.0 112724   984 pts/0    S+   16:21   0:00 grep --color=auto atd
    [root@JhouShuai ~]# 
    
    
    [root@JhouShuai ~]# date
    2019年 03月 10日 星期日 16:21:35 CST
    [root@JhouShuai ~]# at 16:23         
    at> mkdir /root/shuaigege110                #ctrl +backspace 删除错误信息
    at> <EOT>
    job 1 at Sun Mar 10 16:23:00 2019            ##按ctrl+d结束
    [root@JhouShuai ~]# 
    
    

    at -l 查看计划任务
    任务编号 执行的时间 执行者

    [root@JhouShuai ~]# at -l
    2   Sun Mar 10 16:35:00 2019 a root
    [root@JhouShuai ~]# 
    

    在某天的某时执行计划任务

    [root@JhouShuai ~]# at 20:00 2016-10-1   #在某天的某时执行计划任务
    [root@JhouShuai ~]# at now+10min  #在 10分钟后执行
    at> mkdir /root/mimida110
    at> <EOT>
    job 2 at Sun Mar 10 16:35:00 2019
    [root@JhouShuai ~]# at -l
    2   Sun Mar 10 16:35:00 2019 a root
    [root@JhouShuai ~]# 
    
    

    删除at计划任务:
    atrm 命令
    atrm + 计划任务的编号

    [root@JhouShuai ~]# at -l
    #任务编号     执行的时间   执行者
    2   Sun Mar 10 16:35:00 2019 a root
    [root@JhouShuai ~]# atrm 2     #删除编号 是2的计划任务
    [root@JhouShuai ~]# at -l
    [root@JhouShuai ~]# 
    
    

    总结  :at计划任务执行一次,下次就不能再次执行

    周期性的计划任务

    在生产环境中:  一般都是周期的去执行某个任务   例如:备份日志
    周期性计划任务:
    cron 主程序
    Crond服务
    1.系统级别 2,用户级别的计划任务
    主文件: /etc/crontab

    内容说明
    [root@JhouShuai ~]# vim /etc/crontab
    *   *    *   *   *     user-name  command to be executed
    分   时   日   月   周
    
    [root@JhouShuai ~]# systemctl status crond.service  #(查看crond服务的状态)
    ● crond.service - Command Scheduler
       Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
       Active: active (running) since 日 2019-03-10 12:16:50 CST; 4h 15min ago
     Main PID: 1027 (crond)
        Tasks: 1
       CGroup: /system.slice/crond.service
               └─1027 /usr/sbin/crond -n
    
    3月 10 12:16:50 JhouShuai systemd[1]: Started Command Scheduler.
    3月 10 12:16:50 JhouShuai systemd[1]: Starting Command Scheduler...
    3月 10 12:16:50 JhouShuai crond[1027]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 24% if used.)
    3月 10 12:16:50 JhouShuai crond[1027]: (CRON) INFO (running with inotify support)
    Hint: Some lines were ellipsized, use -l to show in full.
    [root@JhouShuai ~]# 
    
    [root@JhouShuai ~]# systemctl restart crond      重启 
    [root@JhouShuai ~]# systemctl enable crond        开机自启
    
    
    针对用户级别的计划任务:

    对于root用户:  
    命令:

    [root@JhouShuai ~]# crontab -e   创建一个计划任务  
    [root@JhouShuai ~]# crontab -l    显示
    [root@JhouShuai ~]# crontab -r   删除计划任务
    
    [root@JhouShuai ~]#crontab -e   #写法
    分 时 日 月 周 谁做后面的事情 命令
    每个取值范围:
    分:0-59
    时:0-23
    日:1-31
    月:1-12
    周:0-7   0 7 都是周日
    

    , - /
    命令或脚本最好用绝对路径写出来

    [root@JhouShuai ~]# crontab -e 每月9,18,22号这几天的凌晨1点1分,执行一个备份脚本
    1 1 9,18,22 * * /root/backup.sh
    [root@JhouShuai ~]# crontab -e 每月9-22号这几天的凌晨1点1分,执行一个备份脚本
    1 1 9-22 * * /root/backup.sh
    
    [root@JhouShuai ~]# crontab -e 每5分钟,执行一次
    */5 **** /root/backup.sh
    
    例子
    [root@JhouShuai ~]# crontab -e 
    */5  2   1,3,5   6-12   *   /root/backup.sh
    

    查看计划任务:Crontab -l

    计划任务的文件在哪???
    /var/spool/cron/root

    删除计划任务

    crontab -r

    单条删除

    Crontab -e vim /var/spool/cron/root dd删除

    相关文章

      网友评论

        本文标题:20.Linux中的计划任务

        本文链接:https://www.haomeiwen.com/subject/wazupqtx.html