Linux 定时任务 crontab

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 位 "* * * * *", 每一位代表:

  1. minute
  2. hour
  3. day(month)
  4. month
  5. 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)

你可能感兴趣的:(linux,linux,服务器,运维)