Chinaunix

标题: 大家帮我检查一下我的crontab 怎么不起作用呢 [打印本页]

作者: 上帝也风流    时间: 2006-09-29 11:50
标题: 大家帮我检查一下我的crontab 怎么不起作用呢
我用vi /etc/crontab编辑
在里面加入 */10 * * * * root  /usr/apache/htdocs/aaa.php
重新启动
service crond restart
但是命令并没有执行阿
请各位帮个忙!
目的是想实现 每10分钟执行 /usr/apache/htdocs/aaa.php程序
作者: Linux@初学者    时间: 2006-09-29 11:55
tail -f /var/log/cron
作者: 上帝也风流    时间: 2006-09-29 12:13
原帖由 Linux@初学者 于 2006-9-29 11:55 发表
tail -f /var/log/cron



这个命令什么意思了?
作者: kenduest    时间: 2006-09-29 12:19
原帖由 上帝也风流 于 2006-9-29 11:50 发表
我用vi /etc/crontab编辑
在里面加入 */10 * * * * root  /usr/apache/htdocs/aaa.php
重新启动
service crond restart
但是命令并没有执行阿
请各位帮个忙!
目的是想实现 每10分钟执行 /usr/apache/htdo ...


你在命令列执行  /usr/apache/htdocs/aaa.php 的结果为何 ?

这不是 web 用的 php 网页,你这样于命令列可以执行嘛 ? (除非你是写成呼叫 php 程式来执行该 script)

==
作者: lingfen1552    时间: 2006-09-29 12:20
php格式,应该运行不了吧??!
作者: 上帝也风流    时间: 2006-09-29 12:24
那用什么命令来执行php 呢?

请教一哈!
作者: kenduest    时间: 2006-09-29 12:29
原帖由 上帝也风流 于 2006-9-29 12:24 发表
那用什么命令来执行php 呢?
请教一哈!


要先问你那个 php 文档内容用途为何才可以谈下去吧 ?

web 上要执行的,你用浏览器去存取,比方 lynx -dump http://hostname/xxx.php 就可以。

当作一般 shell 下的 script 的话,一般看你的 linux distro 是否有 /usr/bin/php 这类程式档,有的话呼叫执行。一般像是:


  1. #!/usr/bin/php -q

  2. echo "hello world from php";

复制代码


==
作者: 上帝也风流    时间: 2006-09-29 12:36
aaa.php 里面是php+mysql
写好了的
不在浏览器输入地址执行
就是想让crontab后台执行这个php来处理php中的功能!
作者: kenduest    时间: 2006-09-29 12:38
原帖由 上帝也风流 于 2006-9-29 12:36 发表
aaa.php 里面是php+mysql
写好了的
不在浏览器输入地址执行
就是想让crontab后台执行这个php来处理php中的功能!


用 lynx 连结存取。

==
作者: 上帝也风流    时间: 2006-09-29 13:26
还没有执行
下面是我加入的代码
*/10 * * * * root lynx -dump http://127.0.0.1/index.php?action=morecheck

重新启动服务,等10几分钟,没有相应!
是不是哪儿错了
作者: kenduest    时间: 2006-09-29 13:32
原帖由 上帝也风流 于 2006-9-29 13:26 发表
还没有执行
下面是我加入的代码
*/10 * * * * root lynx -dump http://127.0.0.1/index.php?action=morecheck

重新启动服务,等10几分钟,没有相应!
是不是哪儿错了


lynx installed ?

and check your cron log and apache log

==
作者: 上帝也风流    时间: 2006-09-29 14:54
我已经安装了 lynx
请问这个lynx需要什么特殊设置吗?
作者: kenduest    时间: 2006-09-29 18:36
原帖由 上帝也风流 于 2006-9-29 14:54 发表
我已经安装了 lynx
请问这个lynx需要什么特殊设置吗?


lynx 于 background 时抓不到 TERM 变量,所以无法判断必要终端机资讯。

写成 script 去呼叫吧。


  1. #!/bin/bash

  2. export TERM=vt100
  3. lynx -dump http://hostname/xxxx.php > /dev/null 2>&1
复制代码


==
作者: 上帝也风流    时间: 2006-09-30 10:45
我使用
[root@test /]# lynx -dump http://127.0.0.1/morechange.php
就可以执行
但是放到crontab 中,就不行了!
作者: 上帝也风流    时间: 2006-09-30 12:21
日志:
Sep 30 11:30:01 test crond[14500]: (root) CMD (lynx -dump  http://localhost/morechange.php )

crontab 发的email
--------------------- pam_unix Begin ------------------------

crond:
   Unknown Entries:
      session closed for user root: 26 Time(s)
      session opened for user root by (uid=0): 26 Time(s)


---------------------- pam_unix End -------------------------
作者: kenduest    时间: 2006-09-30 13:39
原帖由 上帝也风流 于 2006-9-30 10:45 发表
我使用
[root@test /]# lynx -dump http://127.0.0.1/morechange.php
就可以执行
但是放到crontab 中,就不行了!


前几篇文章不是有提到可以参考设定 TERM 终端机变量后的 shell script 去进行测试 ? already done ?

==
作者: 上帝也风流    时间: 2006-09-30 15:08
刚LIUNX入门,还不清楚你说的是什么意思呢

lynx 于 background 时抓不到 TERM 变量,所以无法判断必要终端机资讯。

写成 script 去呼叫吧。
作者: dayan_he    时间: 2006-09-30 23:02
直接把  小天使的

#!/bin/bash

export TERM=vt100
lynx -dump http://hostname/xxxx.php > /dev/null 2>&1

写成一个脚本,把脚本放到 crontab 里面,不要直接 在crontab 里安排" lynx -dump http://127.0.0.1/morechange.php "
作者: mjdcl    时间: 2006-10-05 13:12
晕。。。。有这么复杂吗?
楼主先which php 看看有没有结果。
有直接
  php http://*****/aaa.php在命令行下就可以了

建议看看PHP MAN里的CLI部分。
作者: kenduest    时间: 2006-10-05 13:23
原帖由 mjdcl 于 2006-10-5 13:12 发表
晕。。。。有这么复杂吗?
楼主先which php 看看有没有结果。
有直接
  php http://*****/aaa.php在命令行下就可以了

建议看看PHP MAN里的CLI部分。


这个最前面一开始讨论的文章已经提过了

==
作者: duowawa    时间: 2006-10-06 16:37
顶`
作者: chameleon    时间: 2006-10-06 16:49
晕,同意4楼的朋友
作者: cndefu    时间: 2006-10-06 23:23
将所用到的命令都加上绝对路径试试吧。我以前的是这样搞定的
作者: zhlin    时间: 2006-10-07 11:13
用 wget http://xxxxx/xx.php
这种方法运行呢

/usr/local/php/bin/php xxx.php
这个也可以运行php文件!
作者: tingyu    时间: 2006-10-08 13:59
cron job中所有的命令都需要使用绝对路径的。
作者: aixcq    时间: 2006-10-10 17:02
*/10 * * * * root  /usr/apache/htdocs/aaa.php
有*/10这种写法吗
作者: nees    时间: 2006-10-11 09:33
crontab -l 查看当前定时任务
crontab -e 编辑定时任务列表

哪有直接用vi编辑crontab文件的?

并且在crontab里,一要写绝对路径,二要引入环境变量,所以最好你将这些都放在一个shell脚本中,再用crontab调用这个shell脚本。
作者: tingyu    时间: 2006-10-11 12:50
原帖由 aixcq 于 2006-10-10 17:02 发表
*/10 * * * * root  /usr/apache/htdocs/aaa.php
有*/10这种写法吗


有,表示每10分钟运行一次
作者: xfjkiss    时间: 2006-10-11 17:29
如果你在命令行可以执行的的话,试试这个
/usr/local/php /usr/local/apache/aaa.php

将它加到crontab
*/10 * * * * root /usr/local/php /usr/local/apache/aaa.php
作者: hotmanhh    时间: 2006-10-16 16:17
crontab -e

也行的,你试一试看看。
作者: loulancn    时间: 2006-10-16 18:26
wget --spider URL
作者: pswdf    时间: 2006-10-17 08:56
crontab:

  1. */10 * * * * root root /usr/local/apache/aaa.php
复制代码

作者: dollybaby    时间: 2006-10-18 12:43
原帖由 nees 于 2006-10-11 09:33 发表
crontab -l 查看当前定时任务
crontab -e 编辑定时任务列表

哪有直接用vi编辑crontab文件的?

并且在crontab里,一要写绝对路径,二要引入环境变量,所以最好你将这些都放在一个shell脚本中,再用crontab调 ...


谁说不能直接用vi编辑crontab文件的?




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2