Cron Scheduler

Polar Sponsor
爱发电 赞助
.NET 9.0

创建、列出、修改和删除定时任务,使用简化的 cron 语法自动化系统操作,并管理输出日志。

Cron 调度器 : 管理系统任务和自动化

功能概述

Cron 调度器 : 管理系统任务和自动化是一项面向实际任务的技能,主要用于类型: 自动化、 生产力;API 密钥 : 否;

核心要点

  • 创建、 管理和监测计划任务 (c)。
  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。

使用与执行

该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;

结果检查与注意事项

若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

Cron 调度器

使用 cron 管理系统中的定时任务与自动化操作。

类别: automation, productivity
是否需要 API 密钥: 否

功能说明

在您的机器上创建、管理和监控定时任务(即 cron 任务)。可自动化执行备份、健康检查、清理脚本、API 调用、通知等任何需按计划运行的操作。您的 agent 会自动处理 cron 语法,您无需手动编写复杂表达式。

Agent 命令

列出所有 cron 任务

echo "=== User crontab ==="
crontab -l 2>/dev/null || echo "(empty)"
echo ""
echo "=== System cron ==="
ls /etc/cron.d/ 2>/dev/null
echo ""
echo "=== Cron directories ==="
echo "Hourly:  $(ls /etc/cron.hourly/ 2>/dev/null | wc -l) jobs"
echo "Daily:   $(ls /etc/cron.daily/ 2>/dev/null | wc -l) jobs"
echo "Weekly:  $(ls /etc/cron.weekly/ 2>/dev/null | wc -l) jobs"
echo "Monthly: $(ls /etc/cron.monthly/ 2>/dev/null | wc -l) jobs"

添加一个 cron 任务

# 添加到用户 crontab
(crontab -l 2>/dev/null; echo "SCHEDULE COMMAND") | crontab -

# 常见调度模式:
# 每分钟执行一次:        * * * * *
# 每 5 分钟执行一次:     */5 * * * *
# 每小时执行一次:        0 * * * *
# 每天凌晨 2 点执行:     0 2 * * *
# 每周一上午 9 点执行:    0 9 * * 1
# 每月 1 号执行:         0 0 1 * *
# 工作日(周一至周五)上午 8 点执行:     0 8 * * 1-5

移除一个 cron 任务

# 交互式编辑 crontab
crontab -e

# 或者删除匹配特定模式的某一行
crontab -l | grep -v "PATTERN_TO_REMOVE" | crontab -

查看 cron 日志

# 最近的 cron 活动记录
grep CRON /var/log/syslog | tail -20

# 或在使用 journald 的系统上
journalctl -u cron --since "1 hour ago" --no-pager | tail -20

测试 cron 命令

# 先手动运行命令,确保其能正常工作
COMMAND_HERE

# 检查其输出是否符合预期
echo "Exit code: $?"

cron 语法参考

┌───────────── 分钟(0–59)
│ ┌───────────── 小时(0–23)
│ │ ┌───────────── 日期(1–31)
│ │ │ ┌───────────── 月份(1–12)
│ │ │ │ ┌───────────── 星期几(0–7,0 和 7 均表示周日)
│ │ │ │ │
* * * * * command

常见模式示例

# 每天上午 8 点检查磁盘空间并发送告警邮件
0 8 * * * df -h / | awk 'NR==2 && $5+0 > 80 {print "Disk alert: " $5 " used"}' | mail -s "Disk Warning" you@email.com

# 每周日早上 3 点清理 /tmp 目录
0 3 * * 0 find /tmp -type f -mtime +7 -delete

# 每晚 2 点备份数据库
0 2 * * * pg_dump mydb > /backups/db_$(date +%Y%m%d).sql

# 每 5 分钟检查服务状态,若崩溃则重启(myservice)
*/5 * * * * systemctl is-active myservice || systemctl restart myservice

# 每 15 分钟记录一次系统负载信息
*/15 * * * * echo "$(date): $(uptime)" >> /var/log/system-stats.log

cron 中的环境变量

# cron 默认仅加载极简环境变量。请显式声明所需变量:
(crontab -l 2>/dev/null; echo "PATH=/usr/local/bin:/usr/bin:/bin
SHELL=/bin/bash
0 2 * * * /home/user/backup.sh >> /var/log/backup.log 2>&1") | crontab -

重定向输出(非常重要!)

# 记录标准输出与错误输出到日志文件
* * * * * command >> /var/log/myjob.log 2>&1

# 丢弃全部输出
* * * * * command > /dev/null 2>&1

# 通过邮件发送输出(需已配置 mail 服务)
MAILTO=you@email.com
0 8 * * * command

使用示例

用户:“每天凌晨 2 点运行我的备份脚本”
→ (crontab -l 2>/dev/null; echo "0 2 * * * /home/user/backup.sh >> /var/log/backup.log 2>&1") | crontab -

用户:“每小时检查一次磁盘空间,若使用率超过 80% 则向我发出告警”
→ 编写检测脚本并配置对应 cron 任务

用户:“当前有哪些定时任务正在运行?”
→ 列出所有用户 crontab 及系统级 cron 目录内容

用户:“停止每日清理任务”
→ 查找并移除对应的 cron 条目

约束条件

  • cron 运行时仅加载极简 PATH —— 请对所有命令使用绝对路径
  • 务必重定向输出(例如:>> logfile 2>&1),否则 cron 可能填满用户的邮件队列
  • cron 使用系统时区 —— 可通过 timedatectl 命令确认
  • cron 最小时间粒度为 1 分钟;如需亚分钟级调度,请在脚本中使用循环实现
  • 用户 crontab 不随用户账户删除而保留
  • 在将命令加入 cron 前,请先手动测试其正确性

相关专题

更多
DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

2026.11.05

0

12

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

2026.11.05

0

12

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

0

16

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

XORM框架零基础入门教程
XORM框架零基础入门教程

本专题梳理XORM框架的入门路径,从框架定位、依赖安装、连接数据库到跑通第一个增删改查示例,讲清Engine初始化、日志开启与项目目录规划,并对比GORM等同类ORM的差异,帮助Go开发者建立整体认知。

2026.11.04

0

15

Docker Desktop怎么设置端口映射
Docker Desktop怎么设置端口映射

本专题聚焦Docker Desktop容器端口映射与访问配置,整理从创建容器、设置端口绑定到验证本地服务访问的操作流程。针对端口被占用、映射配置错误、容器服务无法访问等情况,也提供相应的检查方向,方便用户完成端口配置。

2026.11.03

0

18

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习