再起動時にスクリプトを一度実行できますか?

再起動時にスクリプトを一度実行できますか?

CentOS9

次の質問に留意してください。https://serverfault.com/questions/1099284/centos-how-to-keep-previous-service-state-on-reboot

私が必要なことを達成できないようです。そうですか?

必要なもの - スクリプトを実行してサービスを停止し、ログを収集して圧縮し、OSを更新して再起動します(カーネル更新がある場合)。私の問題は、再起動後にサービスが再起動されることです。これは望ましくありません。

この問題を解決する1つの方法は、CentOSに特定の再起動時に(再起動時にではなく)スクリプトを実行させることです。したがって、このスクリプトは上記のスクリプトから再起動した後にのみ実行できます。スクリプトはサービスを再び停止します。

これを行う方法はありますか?

ベストアンサー1

「フラグ」ファイルと操作を使用できます@reboot cron

#!/bin/bash
# flag file must exist across reboots 
flag="/tmp/myflagfile"
#
# if there is no $flag, this is the 1st time
if [[ ! -f "$flag" ]] ; then
  touch "$flag"
  do_firsttime
else
  rm "$flag"
  do_secondtime
fi

$flagファイルを作成または作成しないことで動作を制御できます。

おすすめ記事