いくつかのパッケージアップデートを実行するスクリプトがあり、完了したら再起動したいと思います。唯一の問題は、再起動後に何かをする必要があるということです。明らかに、システムが再起動すると、スクリプトは実行されなくなります。
再起動後にスクリプトが実行している作業を続行するにはどうすればよいですか?残りのスクリプトを挿入できるnextBootまたはそれに似た設定はありますか?
/etc/init.dについて知っていますが、このスクリプトは最大1ヶ月に1回だけ実行され、起動時にスクリプト全体を実行したくありません。
よろしくお願いします!
答え1
扱う必要があるオペレーティングシステムの範囲は非常に広いので、私が一般的にアドバイスするのは、保守する「2段階」スクリプトを呼び出す各オペレーティングシステムに「init」スクリプトをインストールすることです。この「ステップ2」スクリプトは更新されたスクリプトがあることを確認し、存在する場合はそれを実行してから削除します。 「ステップ1アップデート」スクリプトは、完了後に再起動する前に、このアップデート後にスクリプトをインストールします。
答え2
クローンを使用できます@再起動拡張機能(使用中のcronがそれをサポートしていると仮定)。たとえば、再起動前のスクリプトは再起動前に一時ファイルを生成でき、再起動後にスクリプトは残りのスクリプトを実行する前に一時ファイルを確認します。
答え3
スクリプト(/var/local/yourscript)にロックファイルを作成して再起動するたびに(cron @reboot)ファイルがあることを確認し、ファイルがある場合は、2番目のスクリプト(または特定のパラメータを持つスクリプトを含む最初のスクリプト) )を実行してください。 )。