• 计划任务:at和crontab


    一、概述

      作为一名运维人员,你经常需要将某些命令或脚本放入计划任务中去执行。例如,服务器在白天的访问量一般较大,而服务器在承受巨大访问压力的同时对其进行全备份是不合适的,这时候就可以考虑将备份工作放入系统计划任务,这样系统就可以在夜间访问量小的时候自动执行备份任务。

      Linux中提供两种计划任务:(1)一次性at计划任务  (2)可以周期性执行的cron计划任务

    二、at一次性计划任务

      使用at制定一次性计划任务前要确保atd服务是开启的,否则计划任务不会被执行,使用systemctl start atd开启服务,并使用systemctl enable atd确保该服务开机启动。

      2.1at命令用法

        -m   当计划任务执行结束后发送邮件给用户

        -l    查看用户计划任务

        -d    删除用户计划任务

        -c    查看at计划任务具体内容

        at命令时间格式:(1)at  小时 :分钟 #默认代表当天时间  (2)at 4pm + 3days  #代表3天后的下午4点执行计划任务  

                (3)at 12:00 2019-12-12  #指定年月日和日期的计划任务

      2.2at案例

      #指定在21:40执行计划任务,既在/目录新建一个test.txt文件并写入数据hello world。可以输入多条命令,输入完毕后按Ctrl+D快捷键保存并退出。

      #执行打包计划任务

      #查看、删除计划任务

     三、cron周期性计划任务

       使用cron制订计划任务前需要确保crond服务是开启的,否则计划不会被执行,使用systemctl start crond开启服务,并使用systemctl enable crond确保该服务开启启动。

      3.1crontab命令用法  

        -u  指定计划任务的用户,默认为当前用户
        -l  查看计划任务
        -r  删除计划任务
        -e  编辑计划任务
        -i  使用-r删除计划任务时,要求用户进行确认

        计划任务文件格式:分-时-日-月-星期-命令

                 分:00~59  时:00~23  日:1~31    月:1~12   星期:0~7

       3.2cron案例

    进入cron计划任务文件编辑界面,操作和vim相同。

    #给用户Alex制定任务计划:4月19号22点30分执行echo "hello world" > /test/test.txt

    #给用户Alex制定任务计划:每个星期5的22点30分执行tar -cvzf log.tar.gz /var/log /test

    其实,CentOS系统自定义了很多计划任务脚本,分别存放在/etc下的cron.hourly、cron.daily、cron.weekly等目录中,如果你有脚本需要每天执行,可以直接将脚本存放在cron.daily中,系统会自动帮你每天运行该脚本。

    #删除计划任务,如果只是某一条或者几条计划不想执行,也可以在计划任务编辑文本中直接用#注释。

  • 相关阅读:
    day 50 jquery之看我操作
    day 49 JavaScript中BOM和DOM
    day 43 CSS前端
    day 42 前端HTML
    day 41 mysql索引以及前端的简介
    day 40 mysql 之视图,触发器,事务,存储过程及函数
    day 39数据库mysql之多表查询
    day 38 数据库MySQL之单表查询
    day 37 数据库MySQL基本操作
    39套漂亮的后台模板
  • 原文地址:https://www.cnblogs.com/python-wen/p/10732491.html
Copyright © 2020-2023  润新知