毎日デバイスを再起動するようにクローンジョブを設定しようとしています。何らかの理由で再起動が中断された場合は、SysRqリセットを再度呼び出すことが安全です(問題はSSHがシャットダウンしてデバイスが再起動されないため、失われて再起動するには高価な手動介入が必要であることです)。
しばらく実行されたスクリプト:
5 5 * * * root /sbin/reboot -f; sleep 30; /bin/echo `date -u +'\%Y-\%m-\%dT\%H:\%M:\%SZ'` >> /var/log/player-reboot.error.log; echo 1 > /proc/sys/kernel/sysrq; sync; echo b > /proc/sysrq-trigger
ただし、これは非常に残酷で(ハードリブート-f)、一部のデバイスは最近(1日に数千)回復していません。
何がかかっているかよくわかりません(ファイルがまったく記録されていないようで、再起動自体であるか、エコーが中断されたものだと言いたいと思います)。
アンパサンドを使用して絶対に「ロック」せずに、最終的に適切なリセットが行われることを望んでいましたが、まったく機能しないようです(もう再起動しません)。
5 5 * * * root /sbin/shutdown -r +2 &; sleep 240; /bin/echo `date -u +'\%Y-\%m-\%dT\%H:\%M:\%SZ'` >> /var/log/player-reboot.error.log &; echo 1 > /proc/sys/kernel/sysrq; sleep 1; echo b > /proc/sysrq-trigger
cronスクリプトで&シンボルを使用できますか?希望の結果を得るもう一つの賢明な方法を知っていますか?ありがとうございます!