All pastes #759556 Raw Edit

Stuff

public text v1 · immutable
·published 2007-11-03 07:59 UTC
rendered paste body
#!/bin/bash
# VMWare Backup script
#==========================================================
# Date         Ver   By                  Changes

#==========================================================

# 03-11-2007   0.1   Patrick Dijkgraaf   Initial version

#==========================================================

EXCLUDE=GuusGeluk
LOG="/var/log/backupvm.log"
BACKUPPATH="/home/backup"

echo "`date` VM Backup script started." >>${LOG}

for VM in `vmware-cmd -l` ; do
	VMNAME=`vmware-cmd "$VM" getconfig displayName |awk '{print $3}'`
	echo ${EXCLUDE} | grep -w -q ${VMNAME} && continue

	echo " " >>${LOG}
	echo "`date` Removing old Backup file for ${VMNAME}..." >>${LOG}
	rm ${BACKUPPATH}/${VMNAME}.*

        for VMSTATE in `vmware-cmd "$VM" getstate` ; do
                if [ $VMSTATE = "on" ] ; then
			VMWASON=1
			echo " " >>${LOG}
                        echo "`date` Trying Soft shutdown of ${VMNAME}..." >>${LOG}
                        vmware-cmd "$VM" stop soft
                        if [ $? == 0 ] ; then
                                echo "`date` Soft shutdown of ${VMNAME} succeeded!" >>${LOG}
                        else
                                echo "`date` Soft shutdown of ${VMNAME} failed, performing Hard shutdown..." >>${LOG}
                                vmware-cmd "$VM" stop hard
                                if [ $? == 0 ] ; then
                                        echo "`date` Hard shutdown of ${VMNAME} succeeded!" >>${LOG}
                                else
                                        echo "`date` Hard shutdown of ${VMNAME} failed." >>${LOG}
                                fi
                        fi
                fi
        done

	echo " "
	echo "`date` Creating backup of ${VMNAME}..." >>${LOG}
	tar -czf ${BACKUPPATH}/${VMNAME}.tgz ${VM%/*}/
	if [ $? == 0 ] ; then
		echo "`date` Backup of ${VMNAME} succeeded!" >>${LOG}
	else
		echo "`date` Backup of ${VMNAME} failed!" >>${LOG}
	fi

	if [ $VMWASON = "1" ] ; then
		echo " " >>${LOG}
		echo "`date` Starting up ${VMNAME}..." >>${LOG}
		vmware-cmd "$VM" start
		if [ $? == 0 ] ; then
			echo "`date` Startup of ${VMNAME} succeeded!" >>${LOG}
		else
			echo "`date` Startup of ${VMNAME} failed!" >>${LOG}
		fi
	fi
done

echo " " >>${LOG}
echo "`date` VM Backup script finished." >>${LOG}