-
crontab -e 打开编辑定时任务列表文件(-r:删除目前的时程表,-l:列出目前的时程表)
-
输入任务执行的时间参数和要执行的文件路径和文件名
-
命令 which php 查看linux下安装的php的路径
-
*/1 * * * * /usr/bin/php -q /var/www/runtest.php (前五个参数为时间参数:分 小时 月的第几天 哪个月 一周的第几天;第二参数为php的安装路径;第三参数-q:PHP 原本是应用在网页应用的﹐因此它内定会送出 HTML 的HEADER﹐但 是在此我们是要将 PHP 用作 Shell Script﹐”-q” 就是表示不要送 出HEADER 的意思;第四参数是要执行的php文件的路径)
-
五个时间参数的:
-
时程表的格式如下:
f1 f2 f3 f4 f5 program
其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程式。
当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程式,其余类推
当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其余类推
当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其余类推
当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其余类推
使用者也可以将所有的设定先存放在档案 file 中,用 crontab file 的方式来设定时程表。
例子:
每月每天每小时的第 0 分钟执行一次 /bin/ls:
0 7 * * * /bin/ls
在 12 月内, 每天的早上 6 点到 12 点中,每隔 20 分钟执行一次 /usr/bin/backup:
0 6-12/3 * 12 * /usr/bin/backup
周一到周五每天下午 5:00 寄一封信给 admin@domain.name:
0 17 * * 1-5 mail -s \"hi\" admin@domain.name < /tmp/maildata
每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo \"haha\"
20 0-23/2 * * * echo \"haha\" -
crontab 文件中的每一行都代表一项任务,它的格式是:
minute hour day month dayofweek command
*
minute ― 分钟,从 0 到 59 之间的任何整数
*
hour ― 小时,从 0 到 23 之间的任何整数
*
day ― 日期,从 1 到 31 之间的任何整数(如果指定了月份,必须是该月份的有效日期)
*
month ― 月份,从 1 到 12 之间的任何整数(或使用月份的英文简写如 jan、feb 等等)
*
dayofweek ― 星期,从 0 到 7 之间的任何整数,这里的 0 或 7 代表星期日(或使用星期的英文简写如 sun、mon 等等)
*
command ― 要执行的命令(命令可以是 ls /proc >> /tmp/proc 之类的命令,也可以是执行你自行编写的脚本的命令。)
在以上任何值中,星号(*)可以用来代表所有有效的值。譬如,月份值中的星号意味着在满足其它制约条件后每月都执行该命令。
整数间的短线(-)指定一个整数范围。譬如,1-4 意味着整数 1、2、3、4。
用逗号(,)隔开的一系列值指定一个列表。譬如,3, 4, 6, 8 标明这四个指定的整数。
正斜线(/)可以用来指定间隔频率。在范围后加上 / 意味着在范围内可以跳过 integer。譬如,0-59/2 可以用来在分钟字段定义每两分钟。间隔频率值还可以和星号一起使用。例如,*/3 的值可以用在月份字段中表示每三个月运行一次任务。
开头为井号(#)的行是注释,不会被处理。—————————————————————————————————
本文原创自Slience的csdn技术博客。
本博客所有原创文章请以链接形式注明出处。
欢迎关注本技术博客,本博客的文章会不定期更新。
大多数人想要改造这个世界,但却罕有人想改造自己。
世上没有绝望的处境,只有对处境绝望的人。
————By slience
—————————————————————————————————