LinuxやBSDなどのUNIX系サーバーを使う人なら欠かせないのがSSH。私は通常業務はWindows7で行っているので、SSHクライアントとしてはPuTTYが欠かせない。PuTTYから社内のLinuxサーバへ接続し管理の為の操作を行ったり、社内アプリのメンテナンス(プログラムはプログラマーが組んだ)を行ったり。
作業はLinuxサーバが行うので、手元で動くのはSSHクライアントであるPuTTYだけ。テキスト情報なので非常に軽い動作で、サーバーがガリガリ作業をしていても全くこちらには影響が無い。
そんな便利なSSHだが不便な事がある。SSHでシェルに接続してそのままコマンドを実行すると、処理が終わるまでPuTTYを終了出来ない。つまりPCもシャットダウン出来ないのだ。これはバッチ処理などの時間がかかる作業には困ってしまう。screenを知らない頃は、PCの電源を入れたまま退社して翌日状態をチェックしていた。
PuTTYからSSHでシェルにログインし、screenを実行する。ここからコマンドを投入しておけば、screen上でプロセスが動いているので、切断(デタッチ)してもサーバーは処理をし続ける。この方法だとWindowsマシンはシャットダウンしても問題なしだ。翌日PCを起動してPuTTYを起動して、SSHでシェルにログインしてscreenに-rで入るだけで状態が確認出来る。
更に凄いことにscreenは一つだけでなく、沢山の仮想ターミナルを作れるので、色々な処理をさせるコマンドを実行しておいて、screen上で切り替えるだけでいくつものプロセスをSSHセッション一本で操作できてしまう。
最近時間がかかる作業が多くなったし、自宅サーバからレンタルVPSに引っ越した事もあって、screen大活躍である。今更だけどこの今の感動を記しておきたかった。


コメント