我们已经准备好了,你呢?

2024我们与您携手共赢,为您的企业形象保驾护航!

Cron 是一个守护进程,可用于根据时间、日期、月份和星期的组合来安排重复任务的执行。

cron 假设系统始终处于运行状态。如果在安排任务时系统未处于运行状态,则不会执行该任务。

要使用 cron 服务,您必须安装 vixie- 软件包并运行 crond 服务。要确定软件包是否已安装,请使用 rpm -q vixie-cron 命令。要确定服务是否正在运行,请使用 /sbin/crond 命令。

37.1.1. 配置 cron 任务

主要的 cron 配置文件是 /etc/,其中包含以下行:

SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin =root HOME=/ # run-parts 01 * * * * root run-parts /etc/cron。 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron。 42 4 1 * * root run-parts /etc/cron。

前四行是用于配置 cron 作业运行环境的变量。SHELL 变量的值告诉系统要使用哪个 shell 环境(在本例中为 bash shell);PATH 变量定义用于执行命令的路径。cron 作业的输出将通过邮件发送给变量定义的用户名。如果变量定义为空字符串 (=""),则不会发送电子邮件。HOME 变量可用于设置执行命令或脚本时使用的主目录。

定义每分钟执行的任务可以类似于以下定义:

*/1 * * * * (/usr/local/bin/php /home/eygle//cron.php)

/etc/文件中的每一行代表一个任务,其格式为:

小时 天 月

— 分钟,0 至 59 之间的任意整数

小时——小时,0 至 23 之间的任意整数

day——月份中的某一天,可以是 1 到 31 之间的任意整数(如果指定了月份,则必须是该月份的有效日期)

month - 月份,1 至 12 之间的任意整数(或使用月份的英文缩写,如 jan、feb 等)

— 星期几,0 至 7 之间的任意整数,其中 0 或 7 代表星期日(或星期几的英文缩写,如 sun、mon 等)

— 要执行的命令(该命令可以是类似 ls /proc >> /tmp/proc 的命令,也可以是执行您自己编写的脚本的命令。)

在上述任意值中,都可以使用星号 (*) 来表示所有有效值。例如,月份值中的星号表示只要满足其他约束,该命令将每月执行。

整数之间的连字符 (-) 指定整数范围。例如,1-4 表示整数 1、2、3、4。

列表由一系列以逗号(,)分隔的值指定。例如,3, 4, 6, 8 指定四个指定的整数。

可以使用正斜杠 (/) 来指定间隔频率。在范围后面加上 / 表示在范围内跳过。例如,可以在分钟字段中使用 0-59/2 来定义每两分钟一次。间隔频率值也可以与星号一起使用。例如,可以在月份字段中使用值 */3 来每三个月运行一次任务。

以 # 符号开头的行是注释,不被处理。

从 /etc/ 文件中可以看到,它使用 run-parts 脚本来执行 /etc/cron.、/etc/cron.daily、/etc/cron. 和 /etc/cron. 目录中的脚本,这些脚本分别按每小时、每天、每周或每月执行一次。这些目录中的文件应该是 shell 脚本。

如果需要按照除每小时、每天、每周或每月之外的时间表执行 cron 作业,可以将其添加到 /etc/cron.d 目录中。此目录中的所有文件都使用与 /etc/ 中相同的语法。

# 在文件 /tmp/ 中,每个月的第一天凌晨 3:30 运行一次 # 的用法 30 3 * * mon cat /proc/ >> /tmp/ # 每月第一天的凌晨 4:10 运行一次 10 4 1 * * /root//.sh

例 37-1. 例子

除 root 之外的用户可以使用工具来配置 cron 任务。所有用户定义的任务都保存在 /var/spool/cron 目录中,并使用创建它们的用户执行。要以用户身份创建条目,请以该用户身份登录,然后键入 -e 命令以使用或环境变量指定的编辑器编辑该用户的 cron 文件。该文件使用与 /etc/ 相同的格式。保存更改后,文件将保存在用户名下并写入文件 /var/spool/cron/。

cron 守护进程每分钟检查 /etc/ 文件、etc/cron.d/ 目录和 /var/spool/cron 目录是否有更改。如果发现更改,则将其加载到内存中。这样,当文件更改时,守护进程不必重新启动。

37.1.2. 控制 Cron 的使用

/etc/cron.allow 和 /etc/cron.deny 文件用于限制 cron 的使用。这两个使用控制文件的格式都是每行一个用户。两个文件中都不允许有空格。如果修改了使用控制文件,则无需重新启动 cron 守护程序 (crond)。每次用户添加或删除 cron 作业时都会读取使用控制文件。

无论使用控制文件中指定了什么,root 用户始终可以使用 cron。

如果cron.allow文件存在,则只允许其中列出的用户使用cron,而忽略cron.deny文件。

如果cron.allow文件不存在,则禁止所有在cron.deny中列出的用户使用cron。

37.1.3. 启动和停止服务

要启动 cron 服务,请使用命令 /sbin/crond start。要停止该服务,请使用命令 /sbin/crond stop。建议您在启动时启动该服务。

cron+shell+php:

1、在/etc/ /usr/local/sh/test.sh中添加*20 * * *#每天20:00执行

2.在/usr/local/sh目录下创建test.sh脚本

/bin/bash #!/bin/bash

/usr/local/php/bin/php /usr/local///test.php

3.在/usr/local//目录下创建test.php脚本

/usr/local/php/bin/php -q

cron + php:

1. 将 * 20* * * root /usr/local/php/bin/php /usr/local///test.php 添加到 /etc/

2.在/usr/local//目录下创建test.php脚本

/usr/local/php/bin/php -q

本文来自:

二维码
扫一扫在手机端查看

本文链接:https://by928.com/6247.html     转载请注明出处和本文链接!请遵守 《网站协议》
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。

项目经理在线

我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

13761152229

上班时间

周一到周五

公司电话

二维码
微信
线