• 计划任务crontab


    什么叫计划任务

    计划任务,字面意思理解就是在约定好的时间执行已经计划好的工作。在Linux中我们经常使用cron服务来完成这项工作。比如我们可以使用cron来做一个每天晚上12点备份一个日志文件,这就是个计划任务。

    计划任务的好处

    像一些做运维工作的,平时会有很多重复工作,如定点备份,定期重启服务,上线服务,定期检测等等,而这些任务有的需要在半夜进行,我们如果再等到半夜去操作会很累,很繁琐,所以我们这个时候就要用到计划任务了,只要我们把计划任务写好,我们就可以喝喝茶,干点其他事情了,也就不需要熬夜加班了。

    计划任务的类型

    1.系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存
    2.个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置。

    crontab其实是一个命令,用来读取和修改名为crontab的文件。这个crontab文件包含了你要定时执行的程序列表,也包含了执行的时刻。

    实际上,有两个命令,一个叫crontab,一个叫cron。crontab用于修改crontab文件,cron用于实际执行定时的程序。
    有三个常用参数:

    -e:修改crontab文件。
    
    -l:显示crontab文件。
    
    -r:删除crontab文件



    定义一个任务计划如下:
    30 5 * * * root touch /root/1.txt
    在这里我就跟大家详细介绍下每一段的定义:
    第一段应该定义的是:分钟,表示每个小时的第几分钟来执行。范围是从0-59
    第二段应该定义的是:小时,表示从第几个小时来执行,范围是从0-23
    第三段应该定义的是:日期,表示从每个月的第几天执行,范围从1-31
    第四段应该定义的是:月,表示每年的第几个月来执行,范围从1-12
    第五段应该定义的是:周,表示每周的第几天执行,范围从0-6,其中 0表示星期日。
    每六段应该定义的是:用户名,也就是执行程序要通过哪个用户来执行,这个一般可以省略;
    第七段应该定义的是:执行的命令和参数。

    我们需要记住几个特殊符号的含义:

    "*"代表取值范围内的数字,

    "/"代表"每",

    "-"代表从某个数字到某个数字,

    ","分开几个离散的数字

    案例1:

    就是指定每小时的第5分钟执行一次ls命令

    5 * * * * ls

    案例2:

    指定每两个小时以user1身份执行一次ls

    0 */2 * * * user1 ls

    案例3:

    每天的10:30,12:30,14:30创建1.txt

    30 10,12,14 * * 1-5 touch 1.txt

    案例4:

    在每周一至周五的10:30开始,每隔2小时重复一次就是

    30 10-23/2 * * 1-5 touch 1.txt

     案例5:

    按照秒来做定时任务,每6秒写入一次文件

    * * * * * echo "hello" >> /root/1.txt
    * * * * * sleep 6; echo "hello" >> /root/1.txt
    * * * * * sleep 12; echo "hello" >> /root/1.txt
    * * * * * sleep 18; echo "hello" >> /root/1.txt
    * * * * * sleep 24; echo "hello" >> /root/1.txt
    * * * * * sleep 30; echo "hello" >> /root/1.txt
    * * * * * sleep 36; echo "hello" >> /root/1.txt
    * * * * * sleep 42; echo "hello" >> /root/1.txt
    * * * * * sleep 48; echo "hello" >> /root/1.txt
    * * * * * sleep 54; echo "hello" >> /root/1.txt
    * * * * * sleep 60; echo "hello" >> /root/1.txt
  • 相关阅读:
    SQLServer两张表筛选相同数据和不同数据
    Js工具
    检测本地字节序 是大端存储还是小端存储
    C++ 一个统计文件夹下所有代码文件行数的小工具
    C++ 扫描文件夹下所有文件
    C++ 安全拼接字符串函数
    几个常见Win32 API函数
    C 数组模拟阶乘运算
    leetcode 2. Add Two Numbers
    Airline Hub
  • 原文地址:https://www.cnblogs.com/fengzi7314/p/11894002.html
Copyright © 2020-2023  润新知