🗂

時間のかかるシェルスクリプトを裏で実行させておく

2024/02/16に公開

時間のかかるシェルスクリプトをPCを使っていない間も実行させたかったので、VMインスタンスのセッションで実行しました

シェルスクリプトを作成

chatGPTで作成しました

※業務内容が含まれるやり取りは学習に利用されないようにするために、有料サービスであるAPIを利用します

VMインスタンスを作成

今回はGoogle Cloudで実施しました

SSH接続

GoogleCloudのコンソールで、作成したインスタンスの詳細ページから飛べます

セッションを新規作成し入る(アタッチ)

インスタンスに接続できたら以降はコマンドを実行していきます

スクリーン・ファイル名はhogeに統一しているので、実際に使うときは纏めて書き換えます

screen -S hoge

シェルスクリプトを書く

シェルスクリプトは事前に書いてる前提でコピペします

mkdir script && vi script/hoge.sh

vi 以降は以下を入力します

i
ctrl + v
escape
escape
:wq
Enter

シェルスクリプトを実行しつつ出力をファイルにリダイレクト

bash script/hoge.sh >> log/hoge.txt

セッションから抜ける(デタッチ)

ctrl + a
d

ログ確認

tail -f log/hoge.txt
ctrl + c

セッション一覧を確認

screen -ls

作成済みのセッションに入る(アタッチ)

screen -r hoge

セッションを削除

screen kill hoge

Discussion