在 Linux/Unix 系统中使用 crontab 设置每月任务时,可以通过调整时间字段来实现。以下是详细指南:
crontab 时间格式如下:
* * * * * command_to_execute
│ │ │ │ │
│ │ │ │ └── 星期 (0-6, 0=周日)
│ │ │ └──── 月份 (1-12)
│ │ └────── 日 (1-31)
│ └──────── 小时 (0-23)
└────────── 分钟 (0-59)
0 0 1 * * /path/to/script.sh
30 15 15 * * /path/to/backup.py
0 0 L * * /path/to/cleanup.sh
L 表示最后一天,若不支持需改用以下方式:
bash
0 0 28-31 * * [ $(date +\%d -d tomorrow) -eq 1 ] && /path/to/cleanup.sh
0 0 1 1,6,12 * /path/to/report.sh
0 9 1-7 * * [ $(date +\%u) -le 5 ] && /path/to/task.sh
bash
crontab -eCtrl+X → Y → Enter)。bash
crontab -l/var/log/syslog 或 journalctl -u cron。PATH。chmod +x /path/to/script)。% 需转义为 \%(如 date +\%d)。推荐使用 Crontab Guru 在线验证时间表达式是否正确。
通过以上配置,你可以灵活控制每月任务的执行时间和频率。