長時間かかるスクリプトを実行する前に実行しておくといいコマンド

AWS運用自動化サービス「Cloud Automator」

はじめに

技術課の森です。
最近寒くなったり、暖かくなったりと身体を壊しやすい季節になりました。
そんなときに有益な情報です。
デプロイとかですごく時間がかかるコマンドを実行するときに、ひと手間加えるだけで、ターミナルが落ちてもいいコマンドがあります。
screen コマンドの紹介です。

手始め

まずは実行したいスクリプトを実行する前に screen コマンドを実行します。
今回の例はmac上でやっていますが、SSHした環境などでも利用することが出来ます。

コマンド実行

実行すると以下のような出力になるので、スペースキーかEnterキーを押します。

すると、渡しはbashを使ってるので、以下のような出力になります。

そして、コマンドを実行します。
実行した後、「Ctrl+A」を押した後に「d」を押します。

するとプロンプトが返ってきます。

これで、裏で実行されている状態になります。
復旧するには以下のコマンドを実行すると復旧に必要な情報が表示されます。

今回は一つしか無いので、再度繋ぐ場合には、 screen -r でもOKなのですが、 screen -r 65355 でもOKです。

これを実行するだけで、リモートセッションが切れても簡単に再開出来ます。

最後に

今回はmacでしたが、もちろんAmazon Linuxでも同じことが出来ます。
なにかのデプロイで時間がかかっても、このコマンドを最初に実行しておけば、しばらく別のことをしていても安心ですね。

AWS運用自動化サービス「Cloud Automator」