Linux 上的 Cron 作业 - 带有示例的综合指南

主要观点:介绍在 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 cronsudo 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 中日志文件位置等。
阅读 25
0 条评论