vmware-cmd

vmware-cmdとは
VMware server 1.x系をインストール後に
GUI(VMware server console)環境で扱える実行プロセスを、CUI環境で扱う時に使用するコマンド群のことです。
他にも別途インストールが必要ですがVIX API 、Perl API等があります。

今回はそのvmware-cmdを用い仮想マシンの複製から登録までを、
勉学の意味も込めて私が業務で使用することがないshell scriptで書いてみました。

◆vmware-cmdを使って仮想マシンを複製登録する

#!/bin/bash

# define
BASE_PARH=/var/lib/vmware/Virtual Machines
BASE_SYSNAME=Ubuntu
VMXFILE=`ls "${BASE_PARH}/${BASE_SYSNAME}" | grep .vmx`

a() {
    echo -n $2
    for cnt in `seq 1 $1`
    do
        echo -n "。"
        sleep 1
    done
    echo
}

b(){
    echo -n $2
    while [ `ps -A |grep $1|wc -l` -ne 0 ];
    do
        echo -n "。"
        sleep 1
    done
    echo
}

c(){
    if [ ! -n "$1" ];
    then
        echo "入力してください。"
        exit 1
    fi 
}

# 始
if [ -z $1 ]
then
    echo "名称を入力してください。"
    read NEW_SYSNAME
    c ${NEW_SYSNAME}
else
    NEW_SYSNAME=$1
fi

if [ `vmware-cmd -l | grep ${NEW_SYSNAME} | wc -l` -gt 0 ]
then
    echo "${NEW_SYSNAME} はすでに存在します。"
    echo "別の名前を入力してください。"
    exit 1
fi

if [ `ls "${BASE_PARH}" | grep ${NEW_SYSNAME} | wc -l` -gt 0 ]
then
    echo "${NEW_SYSNAME} はすでに存在します。"
    echo "別の名前を入力してください。"
    exit 1
fi

cp -pfR "${BASE_PARH}/${BASE_SYSNAME}" "${BASE_PARH}/${NEW_SYSNAME}" &
b $! "Virtual Machineをコピーしています。"

# rename
sed -e s/displayName = ".*"/displayName = "${NEW_SYSNAME}"/ -i "${BASE_PARH}/${NEW_SYSNAME}/${VMXFILE}"

# vmware-cmd regist
vmware-cmd -s register "${BASE_PARH}/${NEW_SYSNAME}/${VMXFILE}" >/dev/null
a 10 "Virtual Machineを登録しています。"

# vmware-cmd start
vmware-cmd "${BASE_PARH}/${NEW_SYSNAME}/${VMXFILE}" start 2>/dev/null
a 10 "Virtual Machineを開始しています。"

# vmware-cmd answer
vmware-cmd "${BASE_PARH}/${NEW_SYSNAME}/${VMXFILE}" answer

# vmware-cmd rename on VMware Server Tools
#vmware-cmd "${BASE_PARH}/${NEW_SYSNAME}/${VMXFILE}" setconfig displayName ${NEW_SYSNAME} >/dev/null
#a 3 "Virtual Machineをリネームしています。"
#vmware-cmd "${BASE_PARH}/${NEW_SYSNAME}/${VMXFILE}" suspend
#a 5 "Virtual Machineを停止しています。"
#vmware-cmd "${BASE_PARH}/${NEW_SYSNAME}/${VMXFILE}" start
#a 5 "Virtual Machineを起動しています。"

# vmware-cmd list
echo
echo "Virtual Machine一覧"
vmware-cmd -l

# 終
echo 
echo "おしまい。"

VMware server consoleで確認して頂ければ登録した仮想マシンが、追加されているのが分かると思います。

The following two tabs change content below.

ロゴスウェア

ロゴスウェア株式会社は、インターネットや情報技術を使って学習に革新的進化をもたらす製品を開発することを目標に、2001年7月に設立されたテクノロジー系ベンチャー企業です。

Comments are closed.