iyuichiの私的開発ログ

渋谷で働くWebエンジニアのログ. Java, Android, iOS, Docker, GCP, AWS, ゲーム開発

Conohaの収容ノードメンテナンスに備えて

Conoha上で運用しているこのサーバですが、収容ノードのメンテナンスのお知らせがきました。

 

開始日時 : 2014年10月15日(水) 00時00分

終了日時 : 2014年10月15日(水) 07時00分

 

まあ、停止すること自体は問題無いといえばないのですが、、

VPSの再起動後にブログ、メールサーバなど正常にプロセスが動くのか心配です。。

 

ということで、前もって試してみたところdockerのコンテナ以外のプロセスは再起動後も問題なく動いてました!

 

で、あとはコンテナをどうするかですが、メンテナンス終了した後に手動でアップすりゃいいのですが、

面倒なのでdocker ps して該当プロセスがなかったらスタートするスクリプトを作ってcronで定期的に動かしておくことにしました。

これで忘れていてもcron動けば起動するはず。

 

ざっくり言うと、sudopassってファイルにsudoのパスワード書いておいて以下のように

docker psして必要なプロセスdocker-wordpress-nginxがいなかったら、

docker start docker-wordpress-nginxするって感じの簡易なもの。

 

ps_wp_cnt=`cat sudopass | sudo -S docker ps | grep docker-wordpress-nginx | wc -l`
if [ $ps_wp_cnt = 0 ]; then
    echo "[`date +'%T'`] wordpress process is not exists." >> $LOG_FILE
    cat sudopass | sudo -S docker start docker-wordpress-nginx
else
    echo "[`date +'%T'`] alive." >> $LOG_FILE
fi

これでメンテナンス準備OK