文档
快速开始 + 每部分每设备的功能说明(持续更新中)
计划任务(Cron)
本文介绍如何管理目标服务器上的定时任务。
先了解:什么是 Cron
Cron 是 Linux 自带的「定时调度」工具。你可以让它「每天凌晨 3 点自动备份数据库」「每小时清理一次日志」「每周一重启某个服务」——到点自动执行,不用人盯着。
功能简介
查看、添加、删除目标服务器上的 Cron 定时任务。
适用场景
- 定时备份数据库、清理日志
- 定时运行监控脚本
- 定时重启服务、更新证书
使用方法
进入某台服务器的「系统管理面板 → 计划任务」,即可看到该服务器当前的所有 Cron 任务。
添加任务
填写 Cron 表达式和要执行的命令:
| 字段 | 说明 |
|---|---|
| 时间表达式 | 5 段式,如 0 3 * * *(每天凌晨 3 点) |
| 命令 | 要执行的 shell 命令 |
Cron 表达式格式(分 时 日 月 周):
* * * * * 命令 │ │ │ │ │ │ │ │ │ └── 星期 (0-7, 0/7=周日) │ │ │ └──── 月份 (1-12) │ │ └────── 日期 (1-31) │ └──────── 小时 (0-23) └────────── 分钟 (0-59)
常用示例:
| 表达式 | 含义 |
|---|---|
*/5 * * * * | 每 5 分钟 |
0 * * * * | 每小时 |
0 3 * * * | 每天凌晨 3 点 |
0 3 * * 1 | 每周一凌晨 3 点 |
0 3 1 * * | 每月 1 号凌晨 3 点 |
0 3 * * 0 | 每周日凌晨 3 点 |
30 2 * * * | 每天凌晨 2 点 30 分 |
实用命令示例:
# 每天凌晨 3 点备份数据库(示例) 0 3 * * * docker exec sshe-mysql mariadb-dump -uroot -p'<密码>' 库名 > /opt/backup/db-$(date +\%F).sql # 每 6 小时清理一次临时文件 0 */6 * * * find /tmp -type f -mtime +7 -delete # 每周一凌晨 4 点重启某个服务 0 4 * * 1 systemctl restart my-app
注意事项
1. Cron 任务以目标服务器的当前用户身份执行,请确保该用户有执行命令的权限。
2. 命令建议写绝对路径(Cron 环境变量较少,相对路径可能找不到程序)。
3. 命令里用到 % 要转义为 \%(Cron 会把 % 当特殊字符)。
4. 删除 Cron 任务后立即生效。
5. 修改系统级 Cron(/etc/crontab)可能需要在面板外操作,面板默认管理当前用户的 crontab -l。