🔍 Crontab表达式解析器 | Linux Cron Expression Parser

输入Linux Crontab表达式,解析其含义和下次执行时间

🔧 Crontab表达式生成器 | Linux Cron Expression Generator

通过可视化界面生成Linux系统定时任务的Cron表达式

📚 常用示例 | Linux Crontab Examples

以下是常用的Linux Crontab表达式示例,点击即可快速加载到生成器中

每天中午12点执行 0 12 * * *
每5分钟执行一次 */5 * * * *
每周一上午9点执行 0 9 * * 1
每月1号凌晨2点执行 0 2 1 * *
工作日上午10点执行 0 10 * * 1-5
周末上午10点执行 0 10 * * 0,6
每30分钟执行一次 */30 * * * *
每小时执行一次 0 * * * *
每天凌晨执行 0 0 * * *
每周日凌晨执行 0 0 * * 0
晚上11点到早上7点之间,每隔一小时执行 0 23-7 * * *
每天18:00至23:00之间每隔30分钟执行 0,30 18-23 * * *

💻 Crontab命令使用 | Crontab Commands

Linux系统中Crontab命令的常用操作和管理方法

🔧 常用命令

$ crontab -e # 编辑当前用户的crontab
$ crontab -l # 列出当前用户的crontab
$ crontab -r # 删除当前用户的crontab
$ crontab -u user -e # 编辑指定用户的crontab
$ crontab -u user -l # 列出指定用户的crontab

📁 相关文件和目录

/var/spool/cron/ # 用户crontab文件存放目录
/etc/crontab # 系统级crontab配置文件
/etc/cron.d/ # 系统级cron任务目录
/etc/cron.hourly/ # 每小时执行的脚本目录
/etc/cron.daily/ # 每天执行的脚本目录
/etc/cron.weekly/ # 每周执行的脚本目录
/etc/cron.monthly/ # 每月执行的脚本目录
/var/log/cron # cron日志文件

⚙️ 服务管理

$ systemctl status cron # 查看cron服务状态
$ systemctl start cron # 启动cron服务
$ systemctl stop cron # 停止cron服务
$ systemctl restart cron # 重启cron服务
$ systemctl enable cron # 设置开机自启

📝 示例任务

# 每天凌晨2点备份数据库
0 2 * * * /usr/local/bin/backup_db.sh

# 每5分钟检查系统负载
*/5 * * * * /usr/local/bin/check_load.sh

# 每周日凌晨清理日志文件
0 0 * * 0 /usr/local/bin/cleanup_logs.sh

# 每月1号生成报告
0 0 1 * * /usr/local/bin/generate_report.sh

📖 Linux Crontab语法说明 | Crontab Syntax Guide

Linux Crontab表达式由5个字段组成,每个字段用空格分隔

🔢 字段格式

分钟(0-59) 小时(0-23) 日(1-31) 月(1-12) 星期(0-7)
* * * * *
| | | | |
| | | | +-- 星期几 (0-7, 0和7都表示周日)
| | | +---------- 月份 (1-12)
| | +------------------ 日期 (1-31)
| +--------------------------- 小时 (0-23)
+-------------------------------------- 分钟 (0-59)

🎯 特殊字符

字符 含义 示例 说明
* 匹配任何值 * * * * * 每分钟执行
, 分隔多个值 0,30 * * * * 每小时的0分和30分执行
- 指定范围 0 9-17 * * * 每天9点到17点的整点执行
/ 指定间隔 */5 * * * * 每5分钟执行一次

⚠️ 注意事项

  • Linux Crontab不支持秒级精度,最小单位是分钟
  • 星期字段中,0和7都表示周日
  • 月份和星期可以使用英文缩写:Jan-Dec, Sun-Sat
  • 命令路径建议使用绝对路径
  • 输出重定向:command > /dev/null 2>&1 可以禁止邮件通知
  • 环境变量可能与交互式shell不同,需要在脚本中设置