2011-01-26 8 views
0

私はubuntu 9.10サーバ版の起動時に起動する起動スクリプトを書いていて、自分のパスに指定されたディレクトリのrsyncを実行しています。私のスクリプトはinit.dから実行レベルに配置されています。これは動作していますので、起動時に起動できますが、しばらくしてからスクリプトのサービスが実行されていません。システムが立ち上がって5分後にクラッシュし、スクリプト内のコードがrsyncの行に過ぎず、私は問題ではないと確信しているので、スクリプトを再起動してサービスを開始する必要がありますか?これは何が間違っていますか?誰でも助けることができますか?スタートアップスクリプトは常にubuntu 9.10サーバ版でクラッシュする

答えて

1

/var/log/ディレクトリにログエントリがないかどうかを確認してください。私はupstartと同じくらいよく似ていますが、のタスクは5分間実行されないようにしてください。 initスクリプトは、長時間実行する特定のプログラムを起動するには、start-stop-daemonを使用する必要があります。 (そうすることで、同じプログラムをリブートやシャットダウン時に正常にシャットダウンすることができます)。しかし、スクリプト自体は1秒以内に実行する必要があります。

私は実際のupstart管理スクリプトを書いて、それを/etc/init/に入れることをお勧めします。私はupstartが去っていくとは思わない:)そうすれば、それに慣れるかもしれない。

+0

私はstart-stop-restart-statusデーモンを持っていますが、スタートアップ中のことが起き、ステータスをチェックするとサービスが実行されますが、サービスがダウンした、それは私の心配です、なぜそうしていますか? – catvsrat

+0

catvsrat:私はsarnoldが言っていると思っていると思う - おそらく、rsyncはサービス開始のための起動時限以上の時間がかかるので、完了するまでそれを殺します。 – sinelaw

+0

オハイオ州オハイオ州しかし、私は最近私のスクリプトは、私はrsyncのために指定されたパス上のいくつかの変更を行うときに、非常にうんざり、任意の推測が失敗したことに気づいた? – catvsrat

0

私はあなたの問題を解決するのに十分な情報がありませんが、rsyncのstderrをログファイルにパイプし、何がうまくいかなかったかを調べることをお勧めします。冗長のために '-v'をオンにしてみてください。たとえば、

rsync ...blabla... -v 2>&1 | cat > /tmp/rsync.log 

などです。

+0

また、シェルから手動で同じパラメータ(とパーミッション)を使ってrsyncを手動で実行し、何が起こるかを見てください。 – sinelaw

+0

これは*大きな* UUoCです! 'rsync ... 2>/tmp/rsync.log'または' rsync ...> /tmp/rsync.log 2>&1'を試してください。 –

+0

デニス・ウィリアムソン:まあ....はい:) – sinelaw

関連する問題