Linux 定时任务
sudo vi /etc/crontab
文件内容:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# 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
*/5 * * * * root echo '123' >> /tmp/test
重启
sudo systemctl restart crond.service
查看状态
如果有错误, 可以在这里看到
sudo systemctl status crond.service
cron 的用法
cron 共有 5 位 "* * * * *"
, 每一位代表:
- minute
- hour
- day(month)
- month
- day(week)
含义:
*
- any value,
- value list separator-
- range of values/
- step values@yearly
- (non-standard)@annually
- (non-standard)@monthly
- (non-standard)@weekly
- (non-standard)@daily
- (non-standard)@hourly
- (non-standard)@reboot
- (non-standard)
例子:
3,5,8 * * * *
- 在第 3、5 和 8 分钟*/5 * * * *
- 每5分钟0/5 * * * *
- 每5分钟从 0 到 59 每 5 分钟5 4 * * *
- 04:05*/5 4 * * *
- 4 点过后每隔 5 分钟0/5 4 * * *
- 在第 4 小时 0 到 59 之间的每 5 分钟0 */12 * * *
- 每 12 小时后第 0 分钟* * 5 * *
- 在每月第 5 天的每一分钟* * */5 * *
- 每月第 5 天的每一分钟* * 0/5 * *
- 无效* * * 5 *
- 五月的每一分钟* * * */5 *
- 每5个月的每一分钟* * * 0/5 *
- 无效* * * * 5
- 周五的每一分钟* * * * */5
- 每周第 5 天的每一分钟* * * * 0/5
- 从周日到周日,每周第 5 天的每一分钟
错误以及解决方案
如果遇到类似这样的问题, 要看看在命令前是否有"用户名".
(/usr/bin/echo) ERROR (getpwnam() failed)