Cron 命令17 Mar 2025 | 6 分钟阅读 Cron 可以定义为一种由类 Linux 操作系统提供的软件实用程序,该实用程序在预定的时间间隔内执行计划任务。它是一个守护进程,并作为后台进程运行。当遇到条件或事件时,它会在没有用户干预的情况下,在预定的时间执行描述的任务。 通常,处理任何重复性操作对系统管理员来说都是一项艰巨的任务。因此,系统管理员可以通过cron命令列表,安排这些类型的进程在后台自动以固定的时间间隔运行。 它允许所有用户定期执行计划操作,例如每天备份,每隔一段时间同步文件,以及每周安排更新。 Cron 会定期检查计划任务,当计划时间字段与当前时间字段匹配时,将执行计划命令。在进入多用户运行级别时,它会自动从/etc/init.d文件启动。 前提条件
Crontab 的基本语法Cron 读取所有配置文件中的命令列表以供执行。守护进程应用特定的语法来解释crontab配置文件中的行。 crontab(“cron 表”)是一个命令列表,用于在特定时间执行计划操作。它允许用户添加、删除或修改计划操作。 crontab命令的语法包含六个部分,用空格分隔,其中前五个部分说明执行操作的时间,最后一个部分说明命令。 分钟(包含 0 到 59 的值)。 小时(包含 0 到 23 的值)。 月份中的日期(包含 1 到 31 的值)。 一年中的月份(包含 Jan 到 Dec 或 1 到 12 的值,将应用月份名称的前三个字母)。 一周中的日期(包含 Sun 到 Sat 或 0 到 6 的值,将应用日期的前三个字母)。 命令。 语法 Cron 命令的选项1. -f:此选项用于在前台模式下运行,而不进行守护进程化。 2. -1:此选项将启用 LSB 兼容的文件名,即/etc/cron.d。 3. -n:此选项用于在传输邮件时将 FQDN 添加到主题中。 4. -L loglevel:它会告知 cron 要记录哪些任务,使用一些值,如下所示: 1.此值将记录每个 cron 任务的开始。 2.此值将记录每个 cron 任务的完成。 4.此值将记录每个失败的任务以及退出状态不等于零的情况。 8.此值将记录每个 cron 任务的进程编号。 以下是一些定义日期和时间格式字段的规则:
允许用户执行 cron 任务用户必须在此文件中列出,才能在文件可用时执行 cron 任务。 如果文件(即 /etc/cron.allow)不存在但文件(即 cron.deny)存在,则用户不应在此文件中列出,才能执行 cron 任务。 重要提示:如果上述文件都不存在,则只有系统管理员(超级用户)才允许使用提供的命令。要运行的命令它定义了要运行的命令。它说明了 cron 要执行的命令或脚本的实际文件名或目录。 下面有一个例子 上面的命令会查找系统的根目录并执行脚本backup.sh。我们可以定义任何想要的命令或脚本。 输出(可选)cron 默认会在执行时向 crontab 文件所有者发送电子邮件。这是一种有效的记录操作方式。请记住,少量或常规操作会很快填满您的收件箱。 我们可以通过停止输出电子邮件来防止这种情况,因为它是可选的。 要关闭电子邮件输出,我们可以在命令和计时字段后添加字符串>/dev/null 2>&1。 设置 Cron 操作我们需要使用文本编辑器打开crontab来配置cron操作,并输入要执行的命令的语法。 编辑 crontab 文件我们需要在终端窗口中键入一个命令来打开当前用户的 crontab 配置文件。命令如下: ![]() 我们可以每行包含一个计划操作。 完成包含操作后,保存该文件然后退出。cron 守护进程将读取并运行给定的指令。 注意:Cron 不需要重新启动即可应用修改。编辑不同用户的 crontab我们可以输入一个命令来编辑不同用户的 crontab。命令如下: Cron 操作示例在描述操作时,我们可以使用符号指定所有值。在任何字段中输入一个值只会针对该值执行命令。 例如 只有当月份的第一天(0)落在星期三(4)时,它才会执行,即使它设置为早上 2 点执行。如果我们修改为如下: 上面的命令将在每个月的第一天早上 2 点执行。该表通过我们之前的示例,提供了一些带有文件/root/backup.sh的常用命令。该表如下所示:
在使用 cron 工作时,需要记住一些要点。这些要点如下:
下一主题Linux 更改主机名 |
我们请求您订阅我们的新闻通讯以获取最新更新。