• crontab使用方法


    一、crontab基本用法

    1.1 cron服务

    cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业。

    service crond start    //启动服务
    service crond stop     //关闭服务
    service crond restart  //重启服务
    service crond reload   //重新载入配置
    service crond status   //查看服务状态
    

    1.2 Crontab存放路径

    /var/spool/cron/crontabs   #这个目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名。
    

    1.3 基本语法

    crontab (选项) (参数)

    1.3.1 选项

    -e:编辑该用户的计时器设置;
    -l:列出该用户的计时器设置;
    -r:删除该用户的计时器设置;
    -u<用户名称>:指定要设定计时器的用户名称。
    

    1.3.2 参数

    crontab文件(指定包含待执行任务的crontab文件。可以不指定,默认是/var/spool/cron/crontabs/下名字为当前用户名的文件)

    1.4 crontab文件的含义

    # 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
    # | 	| 	| 	| 	|
    # *	*	*	*	* 	command 
    

    其中
    minute: 表示分钟,可以是从0到59之间的任何整数。
    hour:表示小时,可以是从0到23之间的任何整数。
    day:表示日期,可以是从1到31之间的任何整数。
    month:表示月份,可以是从1到12之间的任何整数。
    week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
    command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。
    在以上各个字段中,还可以使用以下特殊字符
    星号():代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
    逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
    中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
    正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如
    /10,如果用在minute字段,表示每十分钟执行一次。

    二、示例

    2.1每分钟执行一次command

    * * * * * command
    

    2.2 每小时的第3和第20分钟执行一次command

    3,20 * * * * command
    

    2.3 在凌晨3点到晚上20点的每小时第20分钟执行一次command

    20 3-20 * * * command
    

    2.4 每隔两天的凌晨3点到晚上20点每小时的第20分钟执行一次command

    20 3-20 */2 * * command
    

    2.5 每周一的凌晨3点到晚上20点每小时的第20分钟执行一次command

    20 3-20 * * 1 command

    2.6 每隔一个半小时执行一次command

    通过设置两个定时任务可以实现每一个半小时的定时任务。在设定时两个任务的开始时间刚好错开90分钟,每个任务每3小时执行一次即可。

    20 0-23/3 * * * command
    50 1-23/3 * * * command
    
    • 注:两个任务中command为同一个脚本或命令

    三、故障排查

    3.1 定时任务设置后保存不了

    guoew@ubuntu:/etc/cron.daily$ crontab  -e
    crontab: installing new crontab
    "/tmp/crontab.FLUGtP/crontab":23: bad minute
    errors in crontab file, can't install.
    Do you want to retry the same edit? (y/n) 
    

    仔细查看上面保存会发现在第23行分钟的格式设置不正确,修改为正确格式即可。

    3.2 定时任务设置不生效

    定时任务不生效原因可能存在下面三种情况:

    1. 定时任务格式或command本身语法不正确
    2. command 没有执行权限
  • 相关阅读:
    md基本语法
    CodeBlocks安装使用、汉化以及更改配色
    hexo+github搭建个人博客教程和各种坑记录
    GB/T 38637.1-2020 物联网 感知控制设备接入 第1部分:总体要求
    山东大学909数据结构与程序设计考研经验分享
    GB/T 39083-2020 快递服务支付信息交换规范
    GB/T 38829-2020 IPTV媒体交付系统技术要求 内容接入
    GB/T 37733.3-2020 传感器网络 个人健康状态远程监测 第3部分:终端技术要求
    GB/T 38801-2020 内容分发网络技术要求 互联应用场景
    GB/T 30269.809-2020 信息技术 传感器网络 第809部分:测试:基于IP的无线传感器网络网络层协议一致性测试
  • 原文地址:https://www.cnblogs.com/guoew/p/11453231.html
Copyright © 2020-2023  润新知