Cron 是基于 Unix 的操作系统中的任务调度程序。它用于安排命令或脚本在固定时间、日期或间隔定期运行。此功能对于自动化系统维护或管理任务特别有用。
Cron 的一个常见用例是自动执行用 PHP(一种流行的服务器端脚本语言)编写的脚本。本文将引导您了解如何为 PHP 脚本安排 Cron 作业,并提供实际示例以帮助您更好地理解。
第 1 步:了解 Cron 语法的基础知识
在设置 Cron 作业之前,了解 Cron 条目的基本语法非常重要:
|
* * * * * command to be executed
- - - - -
| | | | |
| | | | +----- day of the week (0 - 6) (Sunday=0)
| | | +------- month (1 - 12)
| | +--------- day of the month (1 - 31)
| +------------ hour (0 - 23)
+------------- min (0 - 59)
|
每个字段(由星号表示)可以有一个值、用逗号分隔的多个值(例如“1,2,3”)、一系列值(例如“1-3”)或星号来表示“每一个”。
第 2 步:编写 PHP 脚本
为了安排 Cron 作业,您首先需要一个 PHP 脚本来安排。作为一个简单的示例,我们考虑一个将当前日期和时间记录到文本文件的 PHP 脚本。
在合适的目录中创建 PHP 文件 (cron_example.php):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
<?php
$today = date(“Y-m-d H:i:s”);
$file = '/path/to/your/logfile.txt';
// 检查文件是否存在
if(文件已存在($file)) {
$current = 文件获取内容($file);
} else {
$current = '';
}
$current .= “当前日期和时间:” . $today . "\n";
文件放置内容($file, $current);
?>
|
步骤 3:将 PHP 脚本安排为 Cron 作业
要将刚刚编写的 PHP 脚本安排为 Cron 作业,您需要访问 Crontab,它是 Cron 守护程序的计划任务列表。
在终端中,输入以下命令:
crontab -e
此命令在默认文本编辑器中打开当前用户的 Crontab。
假设您想每天凌晨 3:30 运行该脚本。 Cron 语法如下所示:
|
30 3 * * * /usr/bin/php /path/to/your/cron_示例.php
|
在这一行中:
-
“30 3 * * *”意思是“每天凌晨 3:30”。
-
“/usr/bin/php”是 PHP 可执行文件的路径。您可能需要根据您的服务器配置进行调整。
-
“/path/to/your/cron_example.php”是您要运行的 PHP 脚本的完整路径。
只需将此行添加到 Crontab 文件的末尾,保存它,然后退出文本编辑器。
第 4 步:确认您的 Cron 作业已安排
为了确保您的 Cron 作业已正确计划,您可以通过在终端中输入以下命令来列出当前用户的所有已计划 Cron 作业:
crontab -l
您应该会看到刚刚添加到 Crontab 的行。
结论
本文简要介绍了如何为 PHP 脚本安排 Cron 作业,并提供了一个将当前日期和时间记录到文本文件的脚本示例。正如您所看到的,Cron 是一个强大的工具,用于在基于 Unix 的系统上自动执行任务,并且可以像任何其他命令一样调度 PHP 脚本。充分了解 Cron 语法和上面提供的步骤后,您现在应该能够将自己的 PHP 脚本安排为 Cron 作业。