主要观点:介绍在 Linux 系统上使用 cron 作业的全面指南,包括基本概念、cron 表达式示例、特殊字符串、环境变量、时区、cron 作业权限及日志记录等方面。
关键信息:
- 以 Ubuntu 22.04(Debian 衍生版)和 rockyOS 9.2(RHEL 衍生版)为参考,介绍两系统中 cron 相关操作。
- cron 作业是在 Linux 上安排和自动执行的任务,可作为
sudo
或用户上下文运行。 - 介绍了查看、添加、编辑和删除 cron 作业的多种方法,如
crontab
命令、/etc/cron.*
目录等。 - 详细讲解了 cron 表达式的各种用法,包括分钟、小时、日期、月份和星期等的设置,以及特殊字符串如
@hourly
等的含义。 - 提到 cron 不会源启动文件,需在 crontab 中添加环境变量。
- 默认 cron 使用系统时区,可通过
CRON_TZ
为特定用户指定时区。 - 介绍了控制用户使用 cron 作业的配置文件
/etc/cron.deny
和/etc/cron.allow
。 - cron 作业日志默认写入
/var/log/syslog
(Ubuntu/Debian)或/var/log/cron
(rockyOS/RHEL),且输出/stdout 需在命令或脚本中添加。
重要细节: - 确保服务
cron
(Ubuntu)或crond
(rockyOS)正在运行,可通过sudo systemctl status cron
或sudo systemctl status crond
等命令检查。 - 查看 cron 作业的多个位置,包括
crontab
命令、/var/spool/cron/crontabs/*
、/etc/crontab
、/etc/cron.d/*
、/etc/cron.hourly/
等目录。 - 编辑 cron 作业时,
crontab
会询问使用的编辑器,可通过crontab -e
等命令进行编辑。 - 移除 cron 作业可使用
crontab -r
等命令,可添加-i
参数以添加确认提示。 - 某些 cron 实现可能不支持所有选项,如特定字段的某些运算符。
- 不同系统的相关文件和目录位置有所不同,如 Ubuntu 中日志文件位置等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。