バッチファイルでゲストOSのバックアップ

この前に調べてたコマンド"vmware-cmd"を使って、バッチファイルでゲストOSを停止して仮想マシンをまるごとNASにバックアップするようにしました。

使い方は"vmware-cmd -h"を見ればすぐにわかりますが、仮想マシンの停止は、

vmware-cmd  stop 

開始は、

vmware-cmd  start

は操作したい仮想マシンコンフィギュレーションファイル(.vmx)のパスです。
操作したい仮想マシンはあらかじめ登録しておく必要があり、

vmware-cmd -s register 

で登録できます。登録済みの仮想マシン

vmware-cmd -l

で確認することができます。

"stop"コマンドは、ゲストOSのシャットダウンが完了した時点でプログラムが終了するので、ファイルはすぐにコピーしても問題なさそうです。

それと、念のため"getstate"というコマンドで仮想マシンの状態を確認して、動作している場合のみ停止するようにしました。

vmware-cmd  getstate | find "on"
if not errorlevel 1 (
  vmware-cmd  stop 
) 

"getstate"というコマンドでは指定した仮想マシンが動作中は"getstate() = on"、停止中は"getstate() = off"という表示がされるので、DOSのfindコマンドを使って分岐させています。