LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 592|回复: 5

关于cron的问题.

[复制链接]
发表于 2004-9-12 14:23:53 | 显示全部楼层 |阅读模式
我的crontab文件:
-su-2.05b# less /etc/crontab
# /etc/crontab - root's crontab for FreeBSD
#
# $FreeBSD: src/etc/crontab,v 1.32 2002/11/22 16:13:39 tom Exp $
#
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
HOME=/var/log
#
#minute hour    mday    month   wday    who     command
#
*/5     *       *       *       *       root    /usr/libexec/atrun
*/5     *       *       *       *       root    /bin/mrtg.sh
#update the Virus data file
#0      */12    *       *       *       root    /usr/local/libexec/uvscan/update.sh
# Save some entropy so that /dev/random can re-seed on boot.
*/11    *       *       *       *       operator /usr/libexec/save-entropy
# Rotate log files every hour, if necessary.
0       *       *       *       *       root    newsyslog
/etc/crontab (END)
我的cron日志:
-su-2.05b# less cron
Sep 12 14:19:00 www /usr/sbin/cron[4435]: (*system*) RELOAD (/etc/crontab)
Sep 12 14:20:00 www /usr/sbin/cron[28039]: (root) CMD (/bin/mrtg.sh)
Sep 12 14:20:00 www /usr/sbin/cron[28040]: (root) CMD (/usr/libexec/atrun)
Sep 12 14:22:00 www /usr/sbin/cron[28050]: (operator) CMD (/usr/libexec/save-entropy)

#########################
注意上面红色的部分,是我需要的,下面的日志显示也已经执行了,可是真实的情况当我查看mrtg的时候,并不是那样的.
我在shell下面直接执行:/bin/mrtg.sh是可以的.
想询问有谁遇到过这样的问题?或许是什么地方出错了?给个提示.谢谢.
附我的mrtg.sh:
-su-2.05b# less /bin/mrtg.sh
#!/bin/sh
mrtg /usr/local/etc/mrtg/packet-mrtg.cfg
/bin/mrtg.sh (END)
发表于 2004-9-12 21:34:00 | 显示全部楼层

回复: 关于cron的问题.

#!/bin/sh
/PATH/mrtg /usr/local/etc/mrtg/packet-mrtg.cfg
命令mrtg加上绝对路径试试.
发表于 2004-9-13 11:46:55 | 显示全部楼层
不是这个问题我想
 楼主| 发表于 2004-9-13 11:52:01 | 显示全部楼层

问题已解决.

如congli所说.

谢谢指教.
发表于 2004-9-13 11:58:50 | 显示全部楼层
你不是说,不用cron 可以直接运行的吗?

   想不明白,,原因?
 楼主| 发表于 2004-9-13 13:03:13 | 显示全部楼层

问题关键在这里:

我的mrtg命令是在/usr/local/bin
使用shell来执行的时候,他可以找到mrtg命令。
可是让cron来执行, 他的PATH没有包含这个路径,所以不能找到这个命令。如此而已。

另外的方法感觉是修改/etc/crontab文件的PATH变量,不过我没有测试过。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表