切都很简单。如有必要
Posted: Sat Dec 07, 2024 4:32 am
Cron 是Linux上最流行的守护进程之一,本质上是一个高级任务调度程序。它是所有类 Linux 系统的重要组成部分,管理员可以使用它来安排某些程序和脚本在指定时间运行。管理员可以设置启动脚本的周期、调整其运行持续时间等。在本文中,我们将尽可能多地解释如何通过控制面板和 SSH 协议使用 cron,分享有关程序初始配置的提示,并简要介绍 cron 语法。
Cron 和 crontab:它是什么?
两个基本组件,任何VPS管理员都应该了解其原理。简而言之:
克罗恩
是一个任务调度程序。您可以使用它来配置某些脚本以指定的时间间隔运行。例如,每天晚上 8 点,您可以从服务器收集静态数据、生成日志、进行备份或设置系统更新检查。总而言之,无论从哪个角度看,它都是一件很有用的东西。
定时任务
是记录启动脚本和软件的时间表的表。它具有守护进程支持并由服务器读取的特殊格式。
每个帐户都有自己的 crontab 表,因此所有用户都可以设置自己的时间表并设置一些特定的任务。
如何使用 Cron
此守护进程被广泛用于配置服务器运行时的重复任务。事实上,可能的使用场景列表仅受管理员的技能和想象力的限制。以下是使用 Cron 的几个场景示例:
调度警报,提供有关以下方面的信息
服务器
状态、物理硬件指标等;
生成安全日志;
校正硬件和软件的系统时间;
数据备份;
守护进程的丰富语法允许设置任何任务频率,从 1 小时到每年一次。能够智能地使用 Cron 非常重要,因为它减少了管理员对服务器进行干预的需要。事实上,VPS 的工作可以完全自动化,当在专家的控制下同时有几十台服务器时,正确配置任务调度程序的能力至关重要。
Cron 和 crontab 如何通过控制面板工作
许多托管服务提供商都有自己的控制面板,开发人员可以通过图形界面以更方便的方式设置任务调度程序。例如,ISPmanager有这样的调度程序,为了形成任务,只需转到左侧菜单中的“CRON 调度程序”部分,然后单击“创建”即可。
在出现的窗口中,您需要输入:
电子邮件地址。在这里输入您想要接收任务状态通知的电子邮件地址。如果不需要,可以将其留空。
命令 - 在这里我们输入要执行的程序的路径。如果您打算运行 php 脚本,还必须输入解释器的路径。例如:
/usr/bin/php7.0 /var/www/new_user/data/www/mysite/script.php。
计划 - 可在基本模式或专家模式下配置,在这里您可以设置任务的频率。
描述 - 仅供在调度程序中导航的注释。如果您有很多任务,那么它非常有用,请不要忽略它。
如您所见,没有什么复杂的,通过 ISPmanager 控制面板设置 cron 任务非常容易。大多数其他控制面板(如 cPanel、VirtualMin、DirectAdmin 等)也是如此。
什么是 cron 以及如何使用它
Cron 和 crontab 如何通过 SSH 协议工作
有时通过控制面板设置调度程序是不可能的、不方便的,或者只是没有意思。但经验丰富的管理员可以通过命令行以老式的方式轻松配置一切。为此,我们首先需要使用 SSH 协议连接到服务器。
我们来看一下 Crontab 命令的 5 个关键参数:
crontab -e
- 编辑或创建当前帐户的计划文件;
crontab -l
- 显示当前账户中的计 波斯尼亚和黑塞哥维那手机号码
划表内容;
crontab -r
- 清除计划文件;
crontab -r
- 显示上次打开配置的日期;
在 crontab 中
用户
- 按照个人用户的时间表工作。
最后一个选项仅适用于具有超级用户权限的帐户。
好吧,要通过控制台使用 Cron 调度程序,您应该首先执行程序的初始配置并消除任何可能的限制。
初始 Cron 设置
上面我们已经提到每个用户都有自己的单独计划表,但默认情况下不存在,您需要创建它。命令crontab -e允许您生成一个表,它将出现在/var/spool/cron目录中。该文件将完全为空,因此您必须应用您对 cron 语法的了解手动填写参数。让我们简要看一下守护进程的语法:
# crontab -e
外壳=/bin/bash
MAILTO=[email protected]
# 详细信息如下
# 通过调度程序设置任务的示例:
# * * * * * 用户名和您想要安排的命令
25 04 1 * * /usr/bin/apt-get 更新
复制
对于初始设置,前三行是最重要的。在这里我们指定 Cron 的 shell、接收通知的电子邮件地址以及环境的路径。守护进程的语法包括时间格式和调度程序应在特定时刻执行的命令。
为清楚起见,以下是一些使用脚本和调度程序的示例。您可以这样设置脚本,使其每周二上午 10:00 和下午 7:00 运行:
复制
每日 0:30 和 12:30 的脚本设置如下:
30 */12 * * *脚本.sh
复制
总的来说,这里没有什么复杂的,一切都很简单。如有必要,您甚至可以在单个条目中安排多个任务,并用分号分隔它们:
* * * * * /scripts/script.sh; /脚本/scrit2.sh
复制
最后,这里有一个脚本示例,它将每月第一天的凌晨 4 点通过 apt 包管理器搜索系统和软件更新:
如果您想更深入地了解守护进程的复杂细节,我们建议您研究官方 Linux 管理百科全书上的文档。
在 Cron 中设置限制
有两个文件限制对任务计划程序的访问:
/etc/cron.allow
- 包含有关可以安排任务的用户账户的数据;
/etc/cron.deny
- 这里列出了那些不允许使用调度程序的用户。
两个文件中的条目应保持如下格式:每行一个用户名,无空格。它们是所谓的访问控制文件,每次用户尝试使用调度程序时都会读取它们。如果帐户名同时列在两个文件中,则 /etc/cron.deny文件将被忽略。但是,如果这两个文件都不存在,则服务器上将没有与调度程序相关的限制。
附加信息
首先,不要忽视在调度程序参数中指定邮件地址,因为这将使您能够及时收到有关服务器上事件的重要消息。如果有任何错误,您将能够及时修复它们。
Cron 和 crontab:它是什么?
两个基本组件,任何VPS管理员都应该了解其原理。简而言之:
克罗恩
是一个任务调度程序。您可以使用它来配置某些脚本以指定的时间间隔运行。例如,每天晚上 8 点,您可以从服务器收集静态数据、生成日志、进行备份或设置系统更新检查。总而言之,无论从哪个角度看,它都是一件很有用的东西。
定时任务
是记录启动脚本和软件的时间表的表。它具有守护进程支持并由服务器读取的特殊格式。
每个帐户都有自己的 crontab 表,因此所有用户都可以设置自己的时间表并设置一些特定的任务。
如何使用 Cron
此守护进程被广泛用于配置服务器运行时的重复任务。事实上,可能的使用场景列表仅受管理员的技能和想象力的限制。以下是使用 Cron 的几个场景示例:
调度警报,提供有关以下方面的信息
服务器
状态、物理硬件指标等;
生成安全日志;
校正硬件和软件的系统时间;
数据备份;
守护进程的丰富语法允许设置任何任务频率,从 1 小时到每年一次。能够智能地使用 Cron 非常重要,因为它减少了管理员对服务器进行干预的需要。事实上,VPS 的工作可以完全自动化,当在专家的控制下同时有几十台服务器时,正确配置任务调度程序的能力至关重要。
Cron 和 crontab 如何通过控制面板工作
许多托管服务提供商都有自己的控制面板,开发人员可以通过图形界面以更方便的方式设置任务调度程序。例如,ISPmanager有这样的调度程序,为了形成任务,只需转到左侧菜单中的“CRON 调度程序”部分,然后单击“创建”即可。
在出现的窗口中,您需要输入:
电子邮件地址。在这里输入您想要接收任务状态通知的电子邮件地址。如果不需要,可以将其留空。
命令 - 在这里我们输入要执行的程序的路径。如果您打算运行 php 脚本,还必须输入解释器的路径。例如:
/usr/bin/php7.0 /var/www/new_user/data/www/mysite/script.php。
计划 - 可在基本模式或专家模式下配置,在这里您可以设置任务的频率。
描述 - 仅供在调度程序中导航的注释。如果您有很多任务,那么它非常有用,请不要忽略它。
如您所见,没有什么复杂的,通过 ISPmanager 控制面板设置 cron 任务非常容易。大多数其他控制面板(如 cPanel、VirtualMin、DirectAdmin 等)也是如此。
什么是 cron 以及如何使用它
Cron 和 crontab 如何通过 SSH 协议工作
有时通过控制面板设置调度程序是不可能的、不方便的,或者只是没有意思。但经验丰富的管理员可以通过命令行以老式的方式轻松配置一切。为此,我们首先需要使用 SSH 协议连接到服务器。
我们来看一下 Crontab 命令的 5 个关键参数:
crontab -e
- 编辑或创建当前帐户的计划文件;
crontab -l
- 显示当前账户中的计 波斯尼亚和黑塞哥维那手机号码
划表内容;
crontab -r
- 清除计划文件;
crontab -r
- 显示上次打开配置的日期;
在 crontab 中
用户
- 按照个人用户的时间表工作。
最后一个选项仅适用于具有超级用户权限的帐户。
好吧,要通过控制台使用 Cron 调度程序,您应该首先执行程序的初始配置并消除任何可能的限制。
初始 Cron 设置
上面我们已经提到每个用户都有自己的单独计划表,但默认情况下不存在,您需要创建它。命令crontab -e允许您生成一个表,它将出现在/var/spool/cron目录中。该文件将完全为空,因此您必须应用您对 cron 语法的了解手动填写参数。让我们简要看一下守护进程的语法:
# crontab -e
外壳=/bin/bash
MAILTO=[email protected]
# 详细信息如下
# 通过调度程序设置任务的示例:
# * * * * * 用户名和您想要安排的命令
25 04 1 * * /usr/bin/apt-get 更新
复制
对于初始设置,前三行是最重要的。在这里我们指定 Cron 的 shell、接收通知的电子邮件地址以及环境的路径。守护进程的语法包括时间格式和调度程序应在特定时刻执行的命令。
为清楚起见,以下是一些使用脚本和调度程序的示例。您可以这样设置脚本,使其每周二上午 10:00 和下午 7:00 运行:
复制
每日 0:30 和 12:30 的脚本设置如下:
30 */12 * * *脚本.sh
复制
总的来说,这里没有什么复杂的,一切都很简单。如有必要,您甚至可以在单个条目中安排多个任务,并用分号分隔它们:
* * * * * /scripts/script.sh; /脚本/scrit2.sh
复制
最后,这里有一个脚本示例,它将每月第一天的凌晨 4 点通过 apt 包管理器搜索系统和软件更新:
如果您想更深入地了解守护进程的复杂细节,我们建议您研究官方 Linux 管理百科全书上的文档。
在 Cron 中设置限制
有两个文件限制对任务计划程序的访问:
/etc/cron.allow
- 包含有关可以安排任务的用户账户的数据;
/etc/cron.deny
- 这里列出了那些不允许使用调度程序的用户。
两个文件中的条目应保持如下格式:每行一个用户名,无空格。它们是所谓的访问控制文件,每次用户尝试使用调度程序时都会读取它们。如果帐户名同时列在两个文件中,则 /etc/cron.deny文件将被忽略。但是,如果这两个文件都不存在,则服务器上将没有与调度程序相关的限制。
附加信息
首先,不要忽视在调度程序参数中指定邮件地址,因为这将使您能够及时收到有关服务器上事件的重要消息。如果有任何错误,您将能够及时修复它们。