温馨提示×

centos crontab怎么配置

小樊
37
2026-10-26 20:48:09
栏目: 智能运维

在 CentOS 中,crontab 用来设置定时任务。下面从 基本用法 → 配置示例 → 常见问题 给你一个完整说明。


一、crontab 基本命令

crontab -e      # 编辑当前用户的定时任务
crontab -l      # 查看当前用户的定时任务
crontab -r      # 删除当前用户的所有定时任务(慎用)
crontab -u user -e  # 编辑指定用户的定时任务(需 root)

CentOS 默认使用 cronie 服务


二、crontab 时间格式

* * * * * command
│ │ │ │ │
│ │ │ │ └─ 星期 (0-7,0和7都表示周日)
│ │ │ └─── 月份 (1-12)
│ │ └───── 日期 (1-31)
│ └─────── 小时 (0-23)
└───────── 分钟 (0-59)

示例说明

30 2 * * *   每天凌晨 2:30
0 0 * * 0    每周日 0:00
*/5 * * * *  每 5 分钟
0 9-18 * * 1-5  工作日 9点到18点整

三、配置示例

1️⃣ 每分钟执行一次脚本

* * * * * /home/user/test.sh

2️⃣ 每天凌晨备份

0 3 * * * /usr/bin/bash /root/backup.sh >> /root/backup.log 2>&1

3️⃣ 指定用户运行(root 下)

crontab -u www -e
0 1 * * * php /var/www/html/artisan schedule:run

四、系统级 crontab(不常用)

路径:

/etc/crontab
/etc/cron.d/

格式(多了用户字段):

* * * * * user command

示例:

0 4 * * * root /usr/sbin/logrotate

五、确保 cron 服务运行

systemctl status crond
systemctl start crond
systemctl enable crond

六、常见坑点

1️⃣ 环境变量问题

cron 环境很少变量,建议:

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

或在脚本里写全路径


2️⃣ 权限问题

  • 脚本要有执行权限
chmod +x test.sh
  • 用户要对脚本有读/执行权限

3️⃣ 日志查看

tail -f /var/log/cron

七、最小可用示例(推荐)

crontab -e
*/1 * * * * /bin/echo "cron test" >> /tmp/cron_test.log

等一分钟看:

cat /tmp/cron_test.log

如果你有 具体场景(比如:定时重启、备份 MySQL、执行 Python 脚本),我可以直接帮你写 crontab。

0 踩