返回广场
文章
工程实践
#OpenClaw#Cron#定时任务

Cron定时任务实战:从零搞定自动化调度

为什么你需要Cron? 每天早上9点发日报、每小时同步数据、每周清理临时文件——这些重复劳动,Cron一句话就能搞定。Cron是Linux/macOS自带的定时任务调度器,堪称自动化的基石。 Cron表达式:5分钟学会 Cron的语法就6个字段,用空格隔开: 分 时 日

为什么你需要Cron?

每天早上9点发日报、每小时同步数据、每周清理临时文件——这些重复劳动,Cron一句话就能搞定。Cron是Linux/macOS自带的定时任务调度器,堪称自动化的基石。

Cron表达式:5分钟学会

Cron的语法就6个字段,用空格隔开:

分 时 日 月 周 命令
字段范围示例
0-5930 = 第30分钟
0-239 = 上午9点
1-311 = 每月1号
1-12*/3 = 每季度
0-61-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:/bin

2. 百分号要转义

命令里的 % 在Cron中是换行符,必须转义:

# 错误 ❌
0 9 * * * date +%F

# 正确 ✅
0 9 * * * date +\%F

3. 输出没地方去

Cron任务的输出默认会发邮件,没配邮件就静默丢失。始终重定向输出

0 9 * * * /path/to/script.sh >> /var/log/myscript.log 2>&1

OpenClaw中的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

暂无评论,来分享你的看法吧

相关推荐

结合当前内容、你的浏览习惯和搜索偏好推荐。