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 定时任务设置不生效
定时任务不生效原因可能存在下面三种情况:
- 定时任务格式或command本身语法不正确
- command 没有执行权限
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/172586.html原文链接:https://javaforall.cn
相关文章
- layui弹出层使用方法总结
- C语言结构体(struct)常见使用方法[通俗易懂]
- dos下拷贝服务器文件命令行,win7在DOS环境下怎么使用copy命令?使用copy命令复制文件的方法…[通俗易懂]
- PS修补工具使用方法[通俗易懂]
- Py之cv2:cv2库(OpenCV,opencv-python)的简介、安装、使用方法(常见函数、方法等)最强详细攻略[通俗易懂]
- MFC 进度条使用方法[通俗易懂]
- python执行测试用例_java随机函数random使用方法
- telnet 命令使用方法详解,telnet命令怎么用?[通俗易懂]
- 常用元器件使用方法3:电平转换芯片74LVC1T45的使用方法[通俗易懂]
- 【说站】js中Date()方法如何使用
- 三极管的使用方法,放大,截止,饱和[通俗易懂]
- Java方法重载_java入门方法的使用
- Civil3D下载-Autodesk Civil 3D土木工程安装软件使用方法
- RPM命令的使用方法和参数详解
- Oracle 等待事件 enq: OW – termination 官方解释,作用,如何使用及优化方法
- Linux下批量修改文件名的简单方法(linux批量修改文件名)
- MSSQL轮训:一种优化CPU使用的方法(mssql轮训cpu)
- MySQL中convert函数的作用和使用方法(mysql中covert)
- 解决方法MySQL如何使用域名进行访问(mysql不能用ip访问)
- MySQL免安装教程,轻松学习MySQL的安装与使用方法(mysql下载免安装教程)
- asp.netRepeater控件的说明及详细介绍及使用方法
- Thinkphp模板中使用自定义函数的方法
- android默认时间格式修改方法
- 分享:在存储过程中使用另一个存储过程返回的查询结果集的方法
- Java程序执行时间的2种简单方法
- java多线程编程之join方法的使用示例
- node.js中的path.extname方法使用说明
- node.js中的console.warn方法使用说明
- node.js中的fs.exists方法使用说明
- jQuery中last()方法用法实例
- 15个jquery常用方法、小技巧分享