跳到主要内容

Cron 任务基础

本文概述了 Cron 任务的基础知识。如果您不熟悉 Cron 任务,请仔细阅读,因为它们是您账户中的一项较高级功能。对于已经了解 Cron 任务并寻求使用说明的用户,请参考以下 Cron 任务相关文章列表:

  • 什么是 Cron 任务?
  • Cron 任务限制
  • Cron 任务环境
  • 设置、删除或编辑 Cron 任务
  • 在特定日期和时间运行 Cron
  • 指定 Cron 任务使用特定的 php.ini 文件
  • 使用 PHP 及其他文件类型的 Cron 任务

什么是 Cron 任务?

Cron 任务 是 Linux 中用于调度任务(命令)的一种命令。Cron 任务允许您自动化服务器上的特定命令或脚本,以自动完成重复性任务。

这是一种非常实用的工具。Cron 任务可以设置为每 15 分钟、每小时、每周或每月的某一天运行,或者这些条件的任意组合。Bluehost 对共享服务器上的 Cron 任务限制为最小间隔不低于 15 分钟,以避免过多的 Cron 任务导致服务器负载过重。

例如,您可以设置一个 Cron 任务每周删除临时文件,以防止不必要的文件占用磁盘空间。一些脚本,如 Drupal,甚至可能要求您设置 Cron 任务来执行某些功能。

示例 Cron 任务命令

  • PHP 命令示例
    /usr/local/bin/php /home4/cemmlfmy/public_html/path/to/cron/script
  • 特定域名示例
    /usr/local/bin/ea-php99 /home4/cemmlfmy/domain_path/path/to/cron/script

Cron 任务的调度

要理解 Cron 任务的设置,您需要了解它的调度方式。Cron 任务基于五个时间单位进行调度,这些单位由不同字段表示。以下是您需要了解的时间单位:

  • 分钟 - 范围为 0 到 59。
  • 小时 - 范围为 0 到 23(24 小时制)。
  • 月份中的天数 - 范围为 1 到 31。
  • 月份 - 范围为 1 到 12(1 月至 12 月)。
  • 星期几 - 范围为 0 到 6(周日到周六)。

警告: 了解 Cron 任务的工作原理非常重要。您需要具备扎实的 Linux 命令基础,才能有效使用 Cron 任务。
请在添加 Cron 任务之前与您的主机管理员确认脚本的相关事项。

大多数 Cron 任务由以下三个部分组成:

  1. 要调用或执行的 脚本
  2. 用于定期执行脚本的 命令,通常在 cPanel 中设置。
  3. 脚本执行的 操作输出 取决于被调用脚本的功能。通常,脚本被调用为 Cron 任务以修改文件或数据库;但它们也可以执行不修改服务器数据的任务,比如发送邮件通知。

大多数需要 Cron 任务的脚本都会提供具体的设置说明,通常还会给出示例。

Cron 任务限制

共享主机

重要提示:不得将 Cron 任务设置为低于 15 分钟的频率运行。
如果在使用 GET 命令时遇到错误,请联系我们请求开启访问权限。

VPS 和独立服务器

您可以根据需要任意频率调度 Cron 任务。默认情况下,我们允许使用 GETWGET

Cron 任务环境

cPanel 中的示例 Cron 任务页面:
add-new-cron-job

  • 进程的初始工作目录是您的主目录。
  • 由于进程在非交互式 shell 中运行,.bashrc 和其他启动文件不会被读取。
  • 仅会在 /usr/bin 和 /bin 中查找指定的可执行文件。其他目录中的可执行文件必须使用绝对路径(例如 /ramdisk/bin/php5)或相对路径(例如 ./my_program)指定。
  • 运行脚本时,解释器必须在有效的 #! 行中使用完整路径指定,或在命令行中指定。
  • 文件参数必须使用绝对路径或相对于当前工作目录的路径指定。

总结

Cron 任务是服务器活动自动化和定期运行命令或脚本的理想工具。它们通过设置从几分钟到几个月不等的运行间隔,实现高效的服务器管理。理解 Linux 命令并遵守服务器规范非常重要。例如,Bluehost 在共享服务器上设置了最小 15 分钟的间隔以防止过载。虽然不同类型的服务器有不同的限制,但脚本的正确配置始终是关键。通过理解并正确使用 Cron 任务,用户可以轻松实现任务自动化并优化服务器性能。