お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2011-09-21 09:42:58

fono09
メンバ
登録日: 2010-01-11

cronでデーモンを定期的に再起動できない。

Rootでcronに
/etc/init.d/motion restart
を叩くようにしたのですが、
Start-stop-daemon:Not found....fail!
と怒られます。どうにかならないものでしょうか。
/etc/init.d/motion の内容は以下の通りです。

#! /bin/sh -e
#
# /etc/init.d/motion: Start the motion detection
#
### BEGIN INIT INFO
# Provides:      motion
# Required-Start: $local_fs $syslog
# Required-Stop:
# Default-Start:  2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start Motion detection
# Description: loads motion and assigns privileges
### END INIT INFO

# Ported to new debian way using sh and /lib/lsb/init-functions
# by Angel Carpintero <[email protected]>
# Modify by : Juan Angulo Moreno <[email protected]>
#             Eddy Petrisor <[email protected]>

NAME=motion
PATH_BIN=/bin:/usr/bin:/sbin:/usr/sbin
DAEMON=/usr/bin/motion
PIDFILE=/var/run/$NAME.pid
DEFAULTS=/etc/default/$NAME

ENV="env -i LANG=C PATH=$PATH_BIN"

. /lib/lsb/init-functions

test -x $DAEMON || exit 0

RET=0

[ -r "$DEFAULTS" ] && . "$DEFAULTS" || start_motion_daemon=yes


check_daemon_enabled () {
    if [ "$start_motion_daemon" = "yes" ] ; then
        return 0
    else
        log_warning_msg "Not starting $NAME daemon, disabled via /etc/default/$NAME"
        return 1
    fi

}


case "$1" in
  start)
    if check_daemon_enabled ; then
        log_daemon_msg "Starting motion detection daemon : $NAME"
        #if start-stop-daemon --start --oknodo --exec $DAEMON -b --chuid motion ; then
    if start-stop-daemon --start --oknodo --exec $DAEMON -b ; then
            log_end_msg 0
        else
            log_end_msg 1
            RET=1
        fi
    fi
    ;;

  stop)
    log_daemon_msg "Stopping motion detection daemon: $NAME"
    if start-stop-daemon --stop --oknodo --exec $DAEMON --retry 30 ; then
        log_end_msg 0
    else
        log_end_msg 1
        RET=1
    fi
    ;;

  reload|force-reload)
    log_daemon_msg "Reloading $NAME configuration"
    if start-stop-daemon --stop --signal HUP --exec $DAEMON ; then
        log_end_msg 0
    else
        log_end_msg 1
        RET=1
    fi
    ;;

  restart-motion)
    if check_daemon_enabled ; then
        log_action_begin_msg "Restarting $NAME"
        if $0 stop && $0 start ; then
            log_action_end_msg 0
        else
            log_action_cont_msg "(failed)"
            RET=1
        fi
    fi
    ;;

  restart)
    $0 restart-motion
    ;;

  *)
    echo "Usage: /etc/init.d/$NAME {start|stop|restart|reload}"
    RET=1
    ;;
esac


exit $RET

オフライン

 

#2 2011-09-21 20:00:37

STGSAGWAN
ゲスト

Re: cronでデーモンを定期的に再起動できない。

通常は、cron経由でdaemonを起動しないです。
motionで何を実現したいのでしょうか?
公式マニュアルは一通り読みましたか?

 

#3 2011-09-21 21:02:16

fono09
メンバ
登録日: 2010-01-11

Re: cronでデーモンを定期的に再起動できない。

motionの明るさ調節がうまくいかないので、やむを得ず定期的に再起動しようと思ったわけです。

オフライン

 

#4 2011-09-21 23:59:20

STGSAGWAN
ゲスト

Re: cronでデーモンを定期的に再起動できない。

ドキュメント(マニュアル)に、HTTP経由で稼働中のインスタンスを操作する方法が載っています。
「Remote Control with http」と「Motion http API 」の箇所です。
cronで定期的にHTTPリクエストを投げればよいでしょう。
http://www.lavrsen.dk/foswiki/bin/view/Motion/WebHome

 

#5 2011-09-22 00:54:23

fono09
メンバ
登録日: 2010-01-11

Re: cronでデーモンを定期的に再起動できない。

wgetでリクエストを投げれば大丈夫ですね。ドキュメント有難う御座いました。無事解決できそうです。

オフライン

 

Board footer

Powered by FluxBB