Linux下cron定时任务工具使用指南:从配置到执行全解析

cron:是Linux下的一个定时执行工具。

Linux下cron定时任务工具使用指南:从配置到执行全解析

root 以外的用户可以使用 crontab 工具来配置 cron 任务。

所有用户定义的 crontab 都保存在 /var/spool/cron 目录中,并使用创建它们的用户的身份执行。

要以用户身份创建 crontab 条目,请以该用户身份登录,然后键入 crontab -e 命令来编辑用户的 crontab。该文件使用与 /etc/crontab 相同的格式。当保存对 crontab 的更改时,会根据用户名保存 crontab 文件,并写入文件 /var/spool/cron/username。

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

安装定时任务:

yum 安装 crontab

阐明:

/sbin/service crond start //启动服务

/sbin/service crond stop //关闭服务

/sbin/service crond restart //重启服务

/sbin/service crond reload //重新加载配置

检查crontab服务状态:service crond status

手动启动crontab服务:service crond start

检查crontab服务是否已经设置为开机启动,执行命令:ntsysv

添加开机自动启动:

chkconfig –级别 35 crond 开启

crontab命令:

功能说明:设置定时器。

语法: crontab [-u ][配置文件] 或 crontab [-u ][-elr]

补充说明:cron是一个常驻服务,提供定时器功能,允许用户在特定的时间执行预设的指令或程序。只要用户可以编辑定时器的配置文件,就可以使用定时器的功能。其配置文件格式如下:

分钟 小时 日 月 DayOFWeek 命令

范围:

-e 编辑该用户的计时器设置。

-l 列出该用户的计时器设置。

-r 删除该用户的计时器设置。

-u 指定设置定时器的用户名。

crontab 格式:

基本格式:

分钟 小时 太阳 月 日 命令

* * * * * * *

第 1 列表示 1 到 59 分钟。每分钟用 * 或 */1 表示。

第 2 列代表 1 到 23 小时(0 代表 0 点)

第 3 列代表日期 1 到 31

第 4 列代表第 1 至 12 个月

第 5 列标识从 0 到 6 的星期几(0 表示星期日)

在第 6 列中运行的命令

记住几个特殊符号的含义:

“*”代表取值范围内的数字,

“/”代表“每个”,

“-”代表从某个数到某个数,

“,”分隔多个离散数字

# 使用 hashsign 为评论添加前缀

# +————- 分钟 (0 – 59)

#| +————- 小时 (0 – 23)

#| | +————- 一个月中的第几天 (1 – 31)

#| | | +——- 月 (1 – 12)

#| | | | +---- 星期几 (0 – 7)(星期日=0 或 7)

#| | | | |

# * * * * * 要执行的命令

crontab 的一些示例如下:

(1) 第一个例子。

30 21 * * * /etc/init.d/nginxrestart

每晚21:30重启nginx。

(2)第二个例子是本教程测试的例子

* * * * * /usr/bin/php -f /root/test.php >> test.log

每分钟执行一次/root/test.php文件,并将结果输出到test.log。

完成了上面的基础工作后,我们来看看如何使用crontab定时执行PHP脚本:

(1)我在/root下新建了一个test.php文件,内容如下:


   
   
  1. php
  2. #!/usr/bin/php -q
  3. echo date('Y-m-d H:i:s')."from http://www.phpddt.com \n";
  4. ?>

注意:您可以使用whereis php来查找php执行文件的位置。

(2)然后使用crontab -e编写如下shell:

  
  
  1. * * * * * /usr/bin/php -f /root/test.php >> test.log

注意:test.php必须是可执行文件:chmod +x test.php

测试结果正常,截图如下:

当然,你可以使用 crontab -e 继续添加任务。您可以在/var/spool/cron 下看到根文件。

你可能想看:
« 上一篇
下一篇 »

相关推荐

php实时推送,php实地培训

2026年10月05日

53阅读

php乱码出现问号的原因,php乱码出现问号的原因有哪些

2026年10月05日

44阅读

php一句话木马,一句话木马ctf

2026年10月05日

48阅读

php获取数组长度,php中如何获取数组的长度

2026年10月05日

50阅读

php面试题库及答案,php程序员面试真题库

2026年10月05日

47阅读

phpcontent-type修改,php源码二次修改需要多少钱

2026年10月05日

42阅读