一、核心选项说明
1. 基础操作
选项 功能说明 示例与场景 来源
**-e / --edit** 编辑当前用户的crontab文件 crontab -e 打开默认编辑器修改任务
**-l / --list** 列出当前用户的crontab任务 crontab -l 查看所有定时任务
**-r / --remove** 删除当前用户的crontab文件 crontab -r 清空所有任务(谨慎使用)
**-i / --interactive** 删除前确认提示 crontab -r -i 删除时需手动确认
**-u <用户>** 操作指定用户的crontab文件(需root权限) crontab -u root -e 编辑root的任务
2. 高级功能
选项 功能说明 示例与场景 来源
**-s / --selinux** 设置SELinux上下文(需SELinux启用) crontab -s 修改安全上下文
**-v / --version** 显示crontab版本信息 crontab -v 查看当前版本
二、时间规范与特殊字符
1. 时间字段含义
字段 取值范围 示例说明 来源
分钟 0-59 0 3 * * * 每天3点执行
小时 0-23 0 */2 * * * 每2小时执行
日期 1-31 0 0 1 * * 每月1号执行
月份 1-12或缩写 0 0 1 * jan 每年1月1日执行
星期 0-7(0/7=周日) 0 0 * * 1 每周一执行
2. 特殊字符
字符 功能说明 示例 来源
- 匹配所有值 * * * * * 每分钟执行
, 指定多个值 0 8-17 * * 1-5 工作日8-17点
- 指定范围 0 0 1-15 * * 每月1-15日
/ 指定间隔 */10 * * * * 每10分钟执行
@reboot 系统启动时执行 @reboot /path/to/script
三、典型操作示例
1. 基础任务配置
bash
#每天凌晨3点执行脚本(保留日志)
0 3 * * * /usr/local/test.sh >> /var/log/cron.log 2>&1
#每小时的第0和30分钟执行
0,30 * * * * /path/to/command
引用来源:
2. 系统级任务配置
bash
#编辑root用户的crontab
sudo crontab -u root -e
#添加系统级任务(需root权限)
echo “0 2 * * * root /backup.sh” | sudo tee -a /etc/crontab
引用来源:
3. 环境变量与日志处理
bash
#在脚本中加载环境变量
#!/bin/sh
. /etc/profile
#执行命令…
#重定向输出到文件
-
-
-
-
- command > /dev/null 2>&1
引用来源:
- command > /dev/null 2>&1
-
-
-
四、注意事项
权限问题
操作其他用户crontab需root权限(-u选项)。
删除任务时建议使用-i选项确认,避免误删。
日志与调试
默认输出发送至用户邮箱,建议重定向到日志文件(如/var/log/cron)。
检查任务是否执行:grep CRON /var/log/syslog。
特殊字符转义
%在crontab中有换行含义,需转义:date “+%Y%m%d”。
脚本执行权限
确保任务脚本有执行权限:chmod +x /path/to/script。
五、完整选项速查表
选项分类 选项列表 来源
基础操作 -e, -l, -r, -i, -u
高级功能 -s, -v
时间规范 *, , -, /, @reboot
引用来源:
基础选项与示例:
时间规范与特殊字符:
高级功能与注意事项: