• Centos通过crontab配置定时任务


    一.简单说明

    我们在实际使用Centos系统的过程中,可能会涉及一些定时任务的操作,比如定时清理环境上的垃圾文件。这里我遇到的一个问题就是,CI环境上构建的Docker IMAGE的清理,这里我采用了crontab来配置实现。

    二.crontab介绍

    crond是定时任务的一个守护进程,crontab是一个命令,常见于Unix和类Unix的操作系统,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于"crontab"文件中,以供之后读取执行。可以通过crontab命令添加或编辑需要执行的定时任务。

    三.crontab操作

    crontab -u   设定某个用户的cron服务
    crontab -l   列出某个用户cron服务的详细内容
    crontab -r   删除某个用户的cron服务
    crontab -e   编辑某个用户的cron服务
    crontab -i   打印提示,输入yes等确认信息
    

    四.基本格式

    # For details see man 4 crontabs
    # Example of job definition:
    # .---------------- minute (0 - 59)
    # | .------------- hour (0 - 23)
    # | | .---------- day of month (1 - 31)
    # | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
    # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
    # | | | | |
    # * * * * * user-name command to be executed
    定时任务的每段为:分,时,日,月,周,用户,命令
    

    具体说明:
    第1列:表示分钟1~59 每分钟用*或者 */1表示
    第2列:表示小时1~23(0表示0点)
    第3列:表示日期1~31
    第4列:表示月份1~12
    第5列:表示星期0~6(0表示星期天)
    第6列:表示要运行的命令

    除了数字还有几个特殊的符号:"*"、"/"和"-"、","

    • "*"代表所有的取值范围内的数字
    • "/"代表每的意思,"/5"表示每5个单位
    • "-"代表从某个数字到某个数字
    • ","分开几个离散的数字

    注意:定时执行的任务脚本或者命令:

    • 如果存在文件,需要写绝对路径
    • 最好增加重定向日志

    五.举例说明

    • 创建cron脚本文件,命名为cronjob.cron
    [root@k8s001 ~]# touch cronjob.cron
    [root@k8s001 ~]# vi cronjob.cron
    */5 * * * * echo "cronjob test"     表示,每隔15分钟,执行一次打印命令
    
    • 添加定时任务
    [root@k8s001 ~]# crontab cronjob.cron
    
    • 查看定时任务是否成功
    # 通过crontab查看
    [root@k8s001 ~]# crontab -l
    # 也可以通过查看/var/spool/crob目录下是否生成对应的cron脚本
    [root@k8s001 ~]# ls /var/spool/cron
    
  • 相关阅读:
    BZOJ3781 小B的询问
    BZOJ3757 苹果树
    BZOJ1491 [NOI2007]社交网络
    BZOJ3754 Tree之最小方差树
    BZOJ1251 序列终结者
    BZOJ2259 [Oibh]新型计算机
    BZOJ1043 [HAOI2008]下落的圆盘
    D. 预定义变量
    A. 变量命名原则
    B. PHP变量的特点
  • 原文地址:https://www.cnblogs.com/yuhaohao/p/12939527.html
Copyright © 2020-2023  润新知