Cpanel中的cron定时执行任务使用方法

By | 2009/12/14

   如果你的主机是使用Cpanel, 其中有一个叫"时钟守护作业" 的管理器. 就是Cron  job, 可以很方便的进行定时执行某项任务. 初次使用会有很多不清楚的地方, 

先输入你的email,这样每次命令执行后都会发邮件通知你。
前面5个框填时间:
如果全部输入*,即*****,代表每分钟执行一次命令,
如果是默认的00***,代表每天执行一次命令。
然后在cmmmand里面输入命令即可。登高望远

如执行一个php程序可以这样写: 

/ramdisk/bin/php5 -q /home/USERNAME/public_html/TASK.php

USNAME 是用户名, TASK.php是要执行的php程序.  其实就是PHP文件的实际路径.

 

下面是转cron的使用基本语法.

转自:http://blog.csdn.net/bakeloar/archive/2008/05/12/2435934.aspx

Cron 是UNIX, SOLARIS,LINUX下的一个十分有用的工具。 通过Cron脚本能使计划任务定期地在系统后台自动运行。这种计划任务在UNIX, SOLARIS, LINUX下术语为cron jobs。 Crontab (CRON 表)则是用来记录在特定时间运行的CRON的一个脚本文件。

Crontab归结为以下几点特性:

1.      Crontab约束

2.       Crontab命令

3.       Crontab文件语法

4.       Crontab示例

5.       Crontab环境设置

6.      邮件

7.      日志文件

8.      其它

1.      Crontab约束

当用户名记录在文件/usr/lib/cron/cron.allow时,该用户的crontab有效。当/usr/lib/cron /cron.allow 文件不存在时,用户名没被记录在/usr/lib/cron/cron.deny文件中,该用户的crontab也有效。当只存在/usr/lib /cron/cron.deny且为空时,所有的用户都可使用crontab。当前两个文件都不存在时,只有root用户可以使用crontab。 Deny或allow记录以每行一个用户名的形式记录信息。

2.      Crontab 命令

export EDITOR=vi ;为crontab文件指定一个编辑器。 

crontab  -e  编辑该用户的crontab,当指定crontab  不存在时新建。  

crontab  -l  列出该用户的crontab。  

crontab  -r  删除该用户的crontab。  

crontab  -u<用户名称>  指定要设定crontab的用户名称。

crontab –v 显示上一次编辑的时间(只在某些操作系统上可用)

3.       Crontab 文件

Crontab语法一个crontab文件用五个段来定义:天,日期和时间,和一个要定期执行的命令代码。

 

*     *   *   *    *  command to be executed
–     –    –    –    –
|     |     |     |     |
|     |     |     |     +—– day of week (0 – 6) (Sunday=0)
|     |     |     +——- month (1 – 12)
|     |     +——— day of month (1 – 31)
|     +———– hour (0 – 23)
+————- min (0 – 59)
 

所有的值都必须在相应的范围之内,否则视为无效。在填值区域内可以是*也可以是以”,”分隔的一组值。值可以是一个数据也可以是用连接符连起来的两个数(表示范围)。注:日期的格式可以是星期,也可以是一个月中的天。假如两个都有值,则在这两个时间都会执行。

4. Crontab 实例 

下面是crontab文件中的一行,意思是在每天下午6:30中删除临时文件(临时文件存放在/home/someuser/tmp)。 30     18     *     *     *         rm /home/someuser/tmp/*

以下我们改变参数的值使其在不同的时间运行:如下表

 

min

hour

day/month

month

day/week

 Execution time

30

0

1

1,6,12

*

– 00:30 Hrs  on 1st of Jan, June & Dec.

:

0

20

*

10

1-5

–8.00 PM every weekday (Mon-Fri) only in Oct.

:

0

0

1,10,15

*

*

– midnight on 1st ,10th & 15th of month

:

5,10

0

10

*

1

– At 12.05,12.10 every Monday & on 10th of every month

:

注:要是无意间键入了没带参数的crontab 命令,别Control-d退出,这样会删掉所有的cronjob。 应该Control-c退出.

 5. Crontab 环境设置

Cron其实是在shell(/usr/bin/sh).后台引用用户程序的命令。

 Cron默认的shell环境是:

HOME=user’s-home-directory

LOGNAME=user’s-login-id

PATH=/usr/bin:/usr/sbin:.

SHELL=/usr/bin/sh  

用户希望自己的配置文件在表或者脚本的入口直接执行。

 6. 禁用邮件默认的cronjobs在执行任务时会给用户发一封邮件。如果您不需要的话可以通过以下命令关闭。 >/dev/null 2>&1

 7.    生成日志文件保存cronjobs日志只需作如下设置就可以

30 18  *    *   *    rm /home/someuser/tmp/* > /home/someuser/cronlogs/clean_tmp_dir.log “/home/someuser/cronlogs/clean_tmp_dir.log”为日志文件保存的绝对路径    

英文原文地址

http://www.adminschoice.com/docs/crontab.html

关于时间设置的实例:  Cron的时间设置的一些实例

One thought on “Cpanel中的cron定时执行任务使用方法

  1. Pingback: Cron的时间设置的一些实例 - 登高望远

Comments are closed.