zoukankan      html  css  js  c++  java
  • Linux基础学习-crond系统计划任务

    系统计划任务

    大部分系统管理工作都是通过定期自动执行某个脚本来完成的,那么如何定期执行某个脚本,从而实现运维的自动化,这就要借助Linux的cron功能了.

    计划任务分为一次性计划任务和周期性计划任务.

    • 一次性计划任务
      • 每晚11点30分开启网站服务.
    • 周期性计划任务
      • 每周一的凌晨3点30分把/var/www/html目录打包备份为backup.tar.gz

    顾名思义,一次性计划任务只执行一次,一般用于满足临时的工作需求,可以使用at命令实现.

    如果你的Linux没有此命令可以使用yum install at -y来安装.

    [root@qdlinux ~]# at 23:30
    at> systemctl restart httpd
    at> <EOT>
    at > 此处同时按下Ctrl + D组合键来结束编写计划任务
    
    //查看已经设置好但还未执行的计划任务
    [root@qdlinux ~]# at -l
    1	Fri Aug 17 23:30:00 2018 a root
    
    //可以使用atrm任务序号删除
    [root@qdlinux ~]# atrm 1
    [root@qdlinux ~]# at -l
    
    

    如果希望Linux能够周期性地、有规律地执行某些具体的任务,那么可以使用crond服务再合适不过了.

    如果你的Linux没有此命令可以使用yum install cronie -y来安装.

    选项 解释
    crontab -e 创建、编辑计划任务
    crontab -l 查看当前的计划任务
    crontab -r 删除某条计划任务
    crontab -u 编辑其他人的计划任务

    注意:此命令使用编辑的是/var/spool/cron/username文件.

    此命令记忆口诀 "分、时、日、月、星期 命令" 请牢记!!!

    字段 说明
    取值0-59的整数
    取值0-23的任意整数
    取值1-31的任意整数
    取值1-12的任意整数
    星期 取值为0-7,其中0与7均为星期日
    命令 要执行的命令或程序脚本
    //每周一、三、五的凌晨3点30分打包/var/www/html目录
    [root@qdlinux ~]# crontab -e
    crontab: installing new crontab
    [root@qdlinux ~]# crontab -l
    0 1 * * 1-5 /usr/bin/rm -rf /tmp/*
    30 3 * * 1,3,5 /usr/bin/tar -czvf backup.tar.gz /var/www/html
    

    记忆练习示例

    00 02 * * * ls  //每天的凌晨2点执行ls
    00 02 1 * * ls  //每月1号凌晨2点执行ls
    00 02 14 2 * ls //每年的2月的14号凌晨2点执行ls
    00 02 * * 7 ls  //每周日凌晨2点执行ls
    00 02 * 6 5 ls  //每年6月份周5的凌晨2点执行ls
    00 02 14 * 7 ls //每月周日或14号凌晨2点执行
    00 02 14 2 7 ls //每年2月14号或周日凌晨2点执行
    *  02 * * * ls  //每天凌晨2点的每分钟执行
    * * 14 2 * ls   //每年2月份14号每分钟执行
    * * * * * ls    //每分钟执行
    */5 * * * * ls  //每5分钟执行
    00 02 * 1,5,8 * ls //每年1,5,8月的每天凌晨2点执行
    00 02 1-8 * * ls //每月的1-8号凌晨2点执行
    
    //这里需要注意的是分字段必须要求数值,不能为空或者*号
    //日和星期字段不能同时使用,否则会发生冲突
    
    //每周一到周五凌晨1点清空/tmp目录内的所有文件
    [root@qdlinux ~]# whereis rm
    rm: /usr/bin/rm /usr/share/man/man1/rm.1.gz
    [root@qdlinux ~]# crontab -l
    0 1 * * 1-5 /usr/bin/rm -rf /tmp/*
    

  • 相关阅读:
    编程之类 字符串包括问题
    Performance Counter的使用
    MVVM Light Toolkit使用指南
    Lambda表达式详解
    C#线程篇---Task(任务)和线程池不得不说的秘密(5)
    在WPF中如何使用RelativeSource绑定
    WPF中使用ObjectDataProvider绑定方法
    免费的精品: Productivity Power Tools 动画演示
    使用Myeclipse进行简单webservice开发的示例
    <context:component-scan>使用说明
  • 原文地址:https://www.cnblogs.com/qdlinux/p/9495807.html
Copyright © 2011-2022 走看看