Cron php:按计划运行任务!
Cron PHP必须使用Linux系统进程cronTab来创建一个动态PHP类,您可以通过它了解更多这个Linux课程。
CRONTAB促进重复的任务调度。使用安全连接创建Cron PHP时,这为您提供了一种操纵CRONTAB的方法,您可以阅读更多信息这个php文章。
关于Cron.
基本上,Cron提供了在后台运行计划任务的能力。Cron还有助于抓取RSS提要、分析性能、运行清理任务、发送/获取电子邮件或备份SQL数据库,您可以了解更多相关信息在这个SQL课程中。
请记住,每个cron作业将有5个按时间顺序排列的列,每个列代表一个操作符,该操作符具有要执行的完整命令路径:
每一列都与任务计划有特定的关联:
一周的天数分别用数字0到6表示从周日到周六的一周。
个月代表一个给定年份的月份,按这个顺序从1到12个月
天表示给定月份的天数,从1到31。
小时表示给定的一天的小时数,从0到23。
分钟代表给定小时的时间,以该顺序为零至五十九。
所以,如果你想要每周六早上八十三天运行的任务,你会写:
如果您想在早上十二个月的每月的第一天安排任务,那么它看起来像:
您还可以使用一些运算符来自定义计划的任务:
- 星号用于表示每个值/全部
- 破折号用于指示值的范围
- 逗号用于为Cron中的任何列创建逗号分隔值列表。
默认情况下,Crontabs在已计划完成的任务时通过电子邮件发送通知。
用php管理cron
您需要执行命令,以便使用PHP管理CRONTAB,您可以了解更多信息这个php 101课程。好消息是,有一种简单的方法可以用PHP实现这一点。你可以从声明4个属性开始:
- cron-File美元表示cron临时文件的名称和完整路径。
- $句柄表示临时Cron文件名。
- $途径表示文件的路径。
- 美元的连接表示您的资源/连接。
为了能够访问cronTab并执行命令,您的类需要作为适当的用户进行身份验证和连接。因此,您可能希望与SSH2建立连接并进行身份验证。
当建立了经过身份验证的连接后,您将需要一种方法来处理所执行的所有命令。Exec()可以是此方法的名称。通常,当需要在远程服务器上执行命令时,可以从其他类方法内部调用此方法。
当然,您将需要一种方法来删除和创建cron PHP作业。为此,可以分别用' remove_cronjob() '和' append_cronjob() '定义方法。
这样您就会对您的文件有形,然后需要将CRONTAB写入文件。完成后,您还需要一种删除它的方法。需要将CRONTAB输出处理到文件的方法也需要将“WRITE_TO_FILES()”和文件删除为“remove_files()”。
在只删除了最后一个或唯一一个cron作业的情况下,您将希望能够完全删除cronTab,而不是试图创建一个结果为空的cronTab。要处理这个问题,可以使用' remove_crontab() '方法
对于您的类,您可以创建2个辅助方法。1英石方法返回布尔值并只需检查现有的CRON临时文件。2nd如果存在错误,则使用用于错误消息的方法。这些方法可以分别命名为'crontab_file_exists()'和'error_message()'。
在cron中创造新工作
可以通过在向Cron临时文件添加新行/作业后执行“crontab”命令来完成创建新的Cron作业。“crontab”命令将所有作业安装为新CRONTAB。当发生这种情况时,'append_cronjob()'将拍摄一个参数'$ cron_jobs',它将是一个字符串数组或表示Cron中的作业的字符串。
通过首先确定在$ Cron作业中确定null参数,可以启动此方法。'如果是的,可以使用该方法'error_message()'来显示错误消息并停止向用户的任何执行。
然后,新变量'$ ampend-cronfile'然后可以定义为一个字符串,其中“echo”文本后跟一个单引号和结束时的空格。可以使用您添加的Cron的各种作业填充此字符串以及结束引号。您可以使用字符串连接运算符(。=)来构建此字符串。
确定@cron_jobs是数组还是不使用三元运算符。如果是这样,您可以将新行添加到此数组\ n,以便在Cron文件中写入每个作业的所有作业。当'$ cron_job'不是数组时,您可以在字符串'$ chepend_cron'上连接此作业,而无需任何其他额外的进程。这样,您将拥有一个正确的格式,无论您是否正在处理数组。
通过将标准输出重定向到文件中,任务只能回应Cron文件。使用'='。您可以开始将单个关闭报价附加到Linux运算符>>和字符串命令后跟Cron文件的文件名和完整路径。与始终获取文件的操作员覆盖,>>将输出附加到文件端。
换句话说,当这是您使用的操作符时,您可以确保不会覆盖任何已经存在的cron作业。接下来,您可以检查您的代码是否安全编写,您可以了解更多关于in的内容这个PHP安全课程。