Shell 脚本中 crontab 文件的语法是什么?

推荐答案

本题详细解读

1. 基本语法

Crontab 文件的每一行代表一个定时任务,格式如下:

  • 第一个 * 表示分钟(0 - 59)
  • 第二个 * 表示小时(0 - 23)
  • 第三个 * 表示日期(1 - 31)
  • 第四个 * 表示月份(1 - 12)
  • 第五个 * 表示星期几(0 - 6,0 或 7 表示星期日)
  • user-name 是可选的,表示执行命令的用户(通常在系统级 crontab 中使用)
  • command-to-be-executed 是要执行的命令或脚本

2. 特殊字符

  • *:表示所有可能的值。例如,* 在分钟字段表示每分钟。
  • ,:用于指定多个值。例如,1,3,5 在小时字段表示 1 点、3 点和 5 点。
  • -:用于指定范围。例如,1-5 在星期字段表示星期一到星期五。
  • /:用于指定间隔。例如,*/10 在分钟字段表示每 10 分钟。

3. 示例

  • 0 * * * * /path/to/script.sh:每小时的第 0 分钟执行脚本。
  • */15 * * * * /path/to/script.sh:每 15 分钟执行一次脚本。
  • 0 2 * * 0 /path/to/script.sh:每周日的凌晨 2 点执行脚本。
  • 0 0 1 * * /path/to/script.sh:每月的第一天午夜执行脚本。

4. 注意事项

  • 确保命令或脚本具有可执行权限。
  • 使用 crontab -e 编辑当前用户的 crontab 文件。
  • 使用 crontab -l 列出当前用户的 crontab 任务。
  • 系统级 crontab 文件通常位于 /etc/crontab/etc/cron.d/ 目录下。
纠错
反馈