文档

快速开始 + 每部分每设备的功能说明(持续更新中)

计划任务(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。