0

ubuntu 9.10サーバーエディションの起動時に開始し、パスで指定されたディレクトリのrsyncを実行する起動スクリプトを作成しました。init.dからスクリプトをリンクして実行レベルに配置する古い方法で起動を行いました、これは機能しているので、起動時に起動できますが、しばらくするとスクリプトのサービスが実行されません。システムが起動し、スクリプト内のコードが rsync の行にすぎない場合、5 分後に途中でクラッシュしますが、これは問題ではないと確信しているため、スクリプトを再度呼び出してサービスを開始する必要がありますか? これの何が問題なのですか?誰か助けてくれませんか??

4

2 に答える 2

1

ディレクトリのログ エントリを確認してください。よく/var/log/わかりませんが、5 分間実行されるすべてのタスクがupstart強制終了されることを願っています。/etc/init.d/rc*init スクリプトはstart-stop-daemon、長時間実行される特定のプログラムを開始するために使用する必要があります。(そうすれば、同じプログラムを再起動またはシャットダウン時に正常にシャットダウンできます。) ただし、スクリプト自体は 1 秒ほどで実行されるはずです。

init スクリプトと戦うのではなく、実際のupstart管理スクリプトを作成して に配置することをお勧めします。/etc/init/なくなることはないと思いますupstart:)ので、慣れたほうがいいかもしれません。

于 2011-01-26T09:41:32.250 に答える
0

問題を解決するのに十分な情報がありませんが、rsyncのstderrをログファイルにパイプして、何が問題だったのかを突き止めてみることをお勧めします。冗長性のためにも「-v」をオンにしてみてください。例えば:

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

とか、ぐらい。

于 2011-01-26T09:26:38.100 に答える