Cron定时任务实战:从零搞定自动化调度
为什么你需要Cron? 每天早上9点发日报、每小时同步数据、每周清理临时文件——这些重复劳动,Cron一句话就能搞定。Cron是Linux/macOS自带的定时任务调度器,堪称自动化的基石。 Cron表达式:5分钟学会 Cron的语法就6个字段,用空格隔开: 分 时 日
为什么你需要Cron?
每天早上9点发日报、每小时同步数据、每周清理临时文件——这些重复劳动,Cron一句话就能搞定。Cron是Linux/macOS自带的定时任务调度器,堪称自动化的基石。
Cron表达式:5分钟学会
Cron的语法就6个字段,用空格隔开:
分 时 日 月 周 命令| 字段 | 范围 | 示例 |
|---|---|---|
| 分 | 0-59 | 30 = 第30分钟 |
| 时 | 0-23 | 9 = 上午9点 |
| 日 | 1-31 | 1 = 每月1号 |
| 月 | 1-12 | */3 = 每季度 |
| 周 | 0-6 | 1-5 = 周一到周五 |
几个常用模式:
# 每天早上9点执行
0 9 * * * /path/to/script.sh
# 每5分钟检查一次
*/5 * * * * /path/to/check.sh
# 工作日早上8:30
30 8 * * 1-5 /path/to/work.sh
# 每月1号凌晨3点清理
0 3 1 * * /path/to/cleanup.sh实战步骤
第1步:编辑Cron表
crontab -e首次使用会让你选编辑器,选nano最简单。
第2步:写入任务
在打开的文件中添加一行:
# 每天早上9点5分执行备份脚本
5 9 * * * /home/user/backup.sh >> /home/user/backup.log 2>&1保存退出即可生效。
第3步:查看已有任务
crontab -l第4步:验证任务是否在跑
# 查看cron日志(Ubuntu/Debian)
grep CRON /var/log/syslog
# macOS
log show --predicate 'process == "cron"' --last 1h实战案例:用Cron + Shell自动备份数据库
创建备份脚本 /home/user/backup.sh:
#!/bin/bash
DATE=$(date +%Y%m%d)
BACKUP_DIR="/home/user/backups"
mkdir -p $BACKUP_DIR
# 备份MySQL
mysqldump -u root -pYOUR_PASSWORD mydb > $BACKUP_DIR/mydb_$DATE.sql
# 压缩
gzip $BACKUP_DIR/mydb_$DATE.sql
# 只保留最近7天
find $BACKUP_DIR -name "*.sql.gz" -mtime +7 -delete
echo "[$(date)] Backup completed" >> $BACKUP_DIR/backup.log加执行权限:
chmod +x /home/user/backup.sh然后加到Cron:
# 每天凌晨2点备份
0 2 * * * /home/user/backup.sh常见坑和解决方案
1. 环境变量缺失
Cron环境极简,PATH可能和你终端不一样。解决:脚本里写绝对路径,或在脚本开头手动设置PATH:
#!/bin/bash
export PATH=/usr/local/bin:/usr/bin:/bin2. 百分号要转义
命令里的 % 在Cron中是换行符,必须转义:
# 错误 ❌
0 9 * * * date +%F
# 正确 ✅
0 9 * * * date +\%F3. 输出没地方去
Cron任务的输出默认会发邮件,没配邮件就静默丢失。始终重定向输出:
0 9 * * * /path/to/script.sh >> /var/log/myscript.log 2>&1OpenClaw中的Cron
如果你用OpenClaw,配置更简单——直接在配置文件里写:
cron:
- schedule: "0 9 * * *"
task: "赚钱挖掘"
channel: "wechat"OpenClaw会在指定时间自动触发agent任务,比传统Cron更灵活——你能让AI在定时点执行复杂推理,而不仅仅是跑个脚本。
速查表
| 需求 | 表达式 |
|---|---|
| 每分钟 | * |
| 每5分钟 | /5 * |
| 每小时 | 0 |
| 每天9点 | 0 9 * |
| 工作日9点 | 0 9 1-5 |
| 每周一中午 | 0 12 1 |
Cron不酷,但极实用。花10分钟配好,省下的是无数个"哎呀又忘了"。现在就打开终端,crontab -e 走起来。
读者评论
0 条暂无评论,来分享你的看法吧
相关推荐
结合当前内容、你的浏览习惯和搜索偏好推荐。
RAG入门:让AI学会翻书找答案
RAG入门:让AI学会翻书找答案 你有没有遇到过这种情况:问ChatGPT一个专业问题,它回答得头头是道,但细看全是编的? 这就是大模型的"幻觉"问题——它很会说话,但不一定说得对。 RAG(检索增强生成)就是解决这个问题的核心技术。今天用最通俗的方式讲清楚它是什么、为什么需要它、怎么用。

