当前位置:首页>Linux>Linux命令每日一清单001:crontab--定时任务速查表(附PDF文档下载)

Linux命令每日一清单001:crontab--定时任务速查表(附PDF文档下载)

  • 2026-09-06 00:43:23
Linux命令每日一清单001:crontab--定时任务速查表(附PDF文档下载)

1. Cron格式说明

crontab使用五个时间字段来定义任务的执行时间:

* * * * * command# 分钟 小时 日 月 星期 命令

时间字段取值规则:

  • *:任意值
  • ,:列表值(例如:1,15)
  • -:范围值(例如:1-5)
  • /:步长值(例如:*/10)

2.时间字段取值范围

字段允许范围
分钟
0-59
小时
0-23
日期
1-31
月份
1-12 或 JAN-DEC
星期
0-7(0和7都表示周日)或 SUN-SAT

3.特殊时间字符串

关键字等效表达式说明
@reboot
不适用
系统启动时执行一次
@yearly
0 0 1 1 *
每年执行一次
@annually
0 0 1 1 *
同@yearly
@monthly
0 0 1 * *
每月执行一次
@weekly
0 0 * * 0
每周执行一次
@daily
0 0 * * *
每天执行一次
@midnight
0 0 * * *
同@daily
@hourly
0 * * * *
每小时执行一次

4.常用时间表达式

说明表达式
每分钟执行
* * * * *
每5分钟执行
*/5 * * * *
每15分钟执行
*/15 * * * *
每小时整点执行
0 * * * *
每天02:30执行
30 2 * * *
工作日09:00执行
0 9 * * 1-5
每周日03:00执行
0 3 * * 0
每月1日零点执行
0 0 1 * *
每6小时执行
0 */6 * * *
每月15日06:00执行
0 6 15 * *

5.crontab管理命令

命令说明
crontab -e
编辑当前用户的定时任务
crontab -l
列出当前用户的定时任务
crontab -r
删除当前用户的定时任务
crontab -u username -l
列出指定用户的定时任务(需要root权限)
crontab -u username -e
编辑指定用户的定时任务(需要root权限)
crontab file.txt
从文件安装定时任务

6.实用配置示例

(1)定期执行脚本

*/5 * * * * /home/user/script.sh        # 每5分钟执行脚本
0 2 * * * /usr/local/bin/backup.sh      # 每天凌晨2点执行备份

(2)带日志输出的任务

0 2 * * * /home/user/backup.sh >> /var/log/backup.log 2>&1  # 将输出和错误都记录到日志

(3)防止任务重叠执行

0 1 * * * /usr/bin/flock -n /tmp/job.lock /home/user/job.sh  # 使用文件锁防止并发执行

(4)延迟启动任务

@reboot /usr/bin/sleep 30 && /home/user/startup.sh  # 启动30秒后执行

7.环境变量配置

在crontab文件开头设置:

SHELL=/bin/bash                          # 指定使用的shell
PATH=/usr/local/bin:/usr/bin:/bin        # 设置命令搜索路径
MAILTO=admin@example.com                  # 任务输出发送到指定邮箱
MAILTO=""# 禁用邮件通知
CRON_TZ=Asia/Shanghai                     # 设置时区

8.故障排查清单

当定时任务未执行时,按以下顺序检查:

(1)检查cron服务状态

systemctl status cron     # Debian/Ubuntu系统
systemctl status crond    # RHEL/CentOS系统

(2)查看cron日志

grep CRON /var/log/syslog          # Debian/Ubuntu系统
grep CROND /var/log/cron            # RHEL/CentOS系统
journalctl -u cron --since "today"# 查看今天的启动任务

(3)检查脚本权限

ls -l /path/to/script.sh
chmod +x /path/to/script.sh        # 如需添加执行权限

(4)手动测试脚本

/path/to/script.sh                  # 直接运行测试

(5)检查@reboot任务执行情况

journalctl -u cron --since "today"  | grep reboot

温馨提示: 使用绝对路径编写脚本和命令是最可靠的做法,可以避免因环境变量不同导致的执行失败。

本文PDF格式下载:

  关注公众号(haopython),请回复: LLT001

最新文章

随机文章