定时执行工具
发表于|更新于
|字数总计:377|阅读时长:1分钟|阅读量:
crontab
- Linux crontab是用来
定期执行程序的命令
。
当安装完成操作系统之后,默认便会启动此任务调度命令。
crond
命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。
- 注意:新创建的
cron
任务,不会马上执行,至少要过 2 分钟后才可以,当然你可以重启 cron 来马上执行。
1 2 3 4 5 6 7 8 9 10 11 12
| # 常用参数 -e 设置计时器 -l 列出当前计时器的设置
* * * * * 执行命令 - - - - - | | | | | | | | | +----- 星期中星期几 (0 - 6) (星期天 为0) | | | +---------- 月份 (1 - 12) | | +--------------- 一个月中的第几天 (1 - 31) | +-------------------- 小时 (0 - 23) +------------------------- 分钟 (0 - 59)
|
例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| #列出当前计时器的设置 [root@localhost ~]# crontab -l
#编写定时器 [root@localhost ~]# crontab -e
# 常用的定义时间问题
# 每分钟执行 * * * * *
# 每五分钟执行 */5 * * * *
# 每小时执行 0 * * * *
# 每天执行 0 0 * * *
# 每周执行 0 0 * * 0
# 每月执行 0 0 1 * *
# 每年执行 0 0 1 1 *
# 工作日9点到下午六点每小时提醒一次 0 9-18 * * 1-5 /opt/drink_water.sh
|
重启使其立即生效
1 2 3
| /bin/systemctl restart crond.service 或 systemctl restart crond
|
切割日志问题延伸
详细日志切割解释https://pengyirui.gitee.io/posts/f708.html
1 2 3 4 5
| 比如我需要使用`/etc/logrotate.d`下的`catalina`切割文件,但不支持每小时切割 此时不能直接 crontab -e 编写 logrotate -vf /etc/logrotate.d/catalina 而是需要 /usr/sbin/logrotate -vf /etc/logrotate.d/catalina
|