一、什么是Crontab?
Crontab是一个linux下的定时任务工具,可以让用户在指定时间执行指定的命令或者脚本。它是在后台运行的,无需用户登录,随时可以进行定时任务的管理。
二、Crontab的使用方法
1、新增或者修改定时任务:
```bash crontab -e ```2、查看已有的定时任务
```bash crontab -l ```3、删除定时任务
```bash crontab -r ```三、Crontab定时任务语法
Crontab的定时任务语法是一个由五个时间字段和命令组成的单行字符串。
```text * * * * * command ```5个时间参数分别表示:分钟、小时、日期描述、月份、星期描述。
用*表示任何时刻。
四、Crontab的时间描述详解
1、星号 * 表示任何时刻都可。
2、数字代表的含义:
- 分钟:0-59
- 小时:0-23
- 日期:1-31
- 月份:1-12
- 星期:0-6 (0表示星期天)
3、多个时间段用 / 分隔
```text */5 * * * * command ```表示每隔5分钟执行一次command命令。
五、Crontab示例
1、每天早上6点执行/tmp/filecleanup.sh 程序:
```text 0 6 * * * /tmp/filecleanup.sh ```2、每小时执行/tmp/checkstatus.sh脚本:
```text 0 * * * * /tmp/checkstatus.sh ```3、每周星期3的晚上5点执行备份操作:
```text 0 17 * * 3 /home/user/backup.sh ```六、执行结果输出
在Crontab执行的时候,结果输出通常是会被忽略的。所以我们要为命令加上输出定向符(”>”)用来将输出结果定向到文件中。
例如:
```text 0 0 * * * /home/user/backup.sh > /home/user/backup.log ```这样备份操作的输出就会被保存在/home/user/backup.log文件中。
七、注意事项
1、路径问题:
在Crond作业中用到的脚本,需要保证脚本中所包含的路径都是绝对路径。
2、不要有中文字符:
在Crontab指定的执行脚本、命令、参数中应该避免使用中文字符。因为中文字符不一定能够被识别。
3、重启Crontab服务:
```bash systemctl restart crond.service ```八、总结
通过以上的介绍和示例,我们可以掌握Crontab工具的使用方法和语法规则,帮助我们高效地处理定时任务的问题。