init.d 调用的程序本身可以工作,但当 init.d 本身运行时则不能工作

init.d 调用的程序本身可以工作,但当 init.d 本身运行时则不能工作

我目前有两个程序,my_sql_auto_update.shmy_sql_auto_update_initd.sh,后者是 init.d 脚本,~/etc/init.d/[应该]运行my_sql_auto_update.sh.

其内容my_sql_auto_update_initd.sh如下:

#!/bin/bash

#chkconfig: 2345 95 05

. /lib/lsb/init-functions

NAME=mysql_auto_update.sh
PIDFILE=/var/run/$NAME.pid
DAEMON=/home/3kstc/start_up_job/mysql_autoupdate/$NAME

#PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
# 

start() 
{
    start-stop-daemon -S -o -q -m -b -p $PIDFILE -a $DAEMON 
    log_daemon_msg "Started auto-updating website"
}

stop() 
{
  start-stop-daemon -K -o -q -m -p $PIDFILE --name $NAME 
  log_daemon_msg "Stopped auto-updating website"
}

case "$1" in
    start)
       start
        ;;
    stop|force-stop)
       stop
        ;;
  restart)
    stop
    start
    ;;
  *)
    echo "Usage: $0 {start|restart|stop}"
esac    

exit 0

当我mysql_auto_update.sh单独运行程序时IE从终端 - 它工作没有任何问题。

问: 我的 init.d 脚本中是否缺少某些内容,或者是否存在任何其他可能阻止其工作的错误。由于我的mysql_auto_update.sh工作本身,问题[我怀疑]在于上面的代码。非常感谢任何帮助!

附加信息: 通过 mysql_auto_update.sh,我还将更新的时间戳发送到网站。这样我就可以看到上次更新是什么时候。时间戳没有改变,网站也没有得到应有的新信息。

当我运行它时,my_sql_auto_update_initd.sh它会打印出来,"Started auto-updating website"因此我知道start()子例程是有效的。但可惜网站没有更新,这真是令人困惑。任何建议 Wurtel 将不胜感激!

相关内容