Crontab 生成器

可视化配置定时任务表达式,轻松生成 crontab 命令

专业 便捷 免费 实时生成

定时设置

生成结果

Crontab 表达式

* * * * *

表达式含义

每分钟执行一次

最近执行时间

等待生成...

快速操作

历史记录

暂无历史记录

平台兼容

此 Crontab 表达式适用于以下平台:

Linux Unix macOS Docker 云服务器

常用预设

📅
每天凌晨
0 0 * * *
🌞
每天中午
0 12 * * *
📆
每月1号
0 0 1 * *
💼
工作日凌晨
0 0 * * 1-5
每15分钟
*/15 * * * *
🕒
每6小时
0 */6 * * *
🌙
每天凌晨2点
0 2 * * *
🏢
工作日8:30
30 8 * * 1-5
📊
每月第一个周一
0 0 1 * 1
📈
每季度
0 0 * 1,4,7,10 *
📅
每月月末
0 0 L * *
每5分钟
*/5 * * * *

使用说明

  • 选择分钟、小时、日期、月份、星期的设置
  • 输入要执行的命令
  • 点击"生成 Crontab"按钮生成表达式
  • 点击"复制表达式"按钮复制生成的 crontab 命令
  • 可使用常用预设快速生成表达式
  • 点击"测试表达式"按钮验证表达式的有效性
  • 点击"保存记录"按钮保存当前配置到历史记录

Crontab 语法

分钟 (0-59) - 表示每小时的第几分钟执行
小时 (0-23) - 表示每天的第几小时执行
日期 (1-31) - 表示每月的第几天执行
月份 (1-12) - 表示每年的第几月执行
星期 (0-7) - 表示每周的第几天执行 (0和7都表示周日)

特殊字符说明

  • * - 表示任意值
  • , - 表示多个值,如 "1,3,5"
  • - - 表示范围,如 "1-5"
  • / - 表示步长,如 "*/5" 表示每5个单位
  • L - 表示月末
  • W - 表示最近的工作日
  • # - 表示第几个星期几,如 "1#3" 表示第三个周一

常见问题 (FAQ)

什么是 Crontab?

Crontab 是 Linux/Unix 系统中用于设置定时任务的工具,通过配置 crontab 文件,可以让系统在指定的时间自动执行命令。

Crontab 表达式的格式是什么?

Crontab 表达式由 5 个字段组成,分别是:分钟 (0-59)、小时 (0-23)、日期 (1-31)、月份 (1-12)、星期 (0-7),字段之间用空格分隔。

如何查看当前系统的 Crontab 任务?

可以使用 crontab -l 命令查看当前用户的 crontab 任务列表。

如何编辑 Crontab 任务?

可以使用 crontab -e 命令编辑当前用户的 crontab 任务。

Crontab 任务执行失败怎么办?

可以检查系统日志,通常 crontab 的执行日志会记录在 /var/log/cron 文件中,也可以在 crontab 命令中添加重定向来捕获输出和错误。

使用案例

案例 1: 每天备份数据库

表达式: 0 0 * * *

命令: mysqldump -u root -p password database > /backup/database_$(date +\%Y\%m\%d).sql

说明: 每天凌晨 0 点执行数据库备份,将备份文件保存到 /backup 目录,文件名包含当前日期。

案例 2: 每小时清理临时文件

表达式: 0 * * * *

命令: find /tmp -type f -mtime +1 -delete

说明: 每小时执行一次,清理 /tmp 目录中超过 1 天的文件。

案例 3: 每周一生成报表

表达式: 0 9 * * 1

命令: /usr/bin/php /path/to/generate_report.php

说明: 每周一早上 9 点执行报表生成脚本。

案例 4: 每月1号更新系统

表达式: 0 4 1 * *

命令: apt-get update && apt-get upgrade -y

说明: 每月 1 号凌晨 4 点执行系统更新。

服务器设置

安装 Crontab

在不同系统上安装 crontab:

  • Ubuntu/Debian: sudo apt install cron
  • CentOS/RHEL: sudo yum install cronie
  • macOS: 系统已内置 crontab

启动 Crontab 服务

  • Ubuntu/Debian: sudo systemctl start cron
  • CentOS/RHEL: sudo systemctl start crond
  • 设置开机自启: sudo systemctl enable cron