如何修复不重启机器的备份脚本

时间:2013-08-28 02:26:11

标签: linux bash shell ubuntu tar

我有一个备份脚本,我在UBUNTU 12.04服务器上运行,它应该关闭虚拟机计算机,执行tar备份,然后在备份完成后重启虚拟机。我写它在脚本中运行两个备份。但是,脚本执行得很好,但虚拟机不会自行重启。我必须手动重启它。 vmware.log日志不显示任何触发我解决方案的内容。有任何想法吗?我发布我的脚本........

#!/bin/bash
#script to backup virtual machines
#written by trainerbee August 20, 2013
#for use on Ubuntu 12.04 kernel
echo "Nightly VM Backup to NAS"
echo "script written by trainerbee"
NOW="$(date)"
printf "Current date and time %s\n" "$NOW"

echo "About to begin the nightly backup, please wait..."

now="$(date +'%m-%d-%Y')"

echo "--------------Date stamp after midnight------------------------"
FILE="server2bkup-$now.tar"
FILE2="SERVER2BACK2-$now.tar"

# rest of script
echo "we have two VMs to backup"
echo "shutting down the 1st guest VM, then sleeping for two mins please wait..."
vmrun -T ws stop /var/lib/vmware/Virtual\ Machines/Windows\ Svr\ 2k8\ x64-3/Windows\     Svr\ 2k8\ x64-3.vmx soft
sleep 120
echo "Lets begin backup of 1st VM, sleeping for 15 mins"
tar cvf /home/user/netgear/$FILE /var/lib/vmware/Virtual\ Machines/Windows\ Svr\ 2k8\     x64-3/ --exclude *.log
sleep 900
echo "finished backing up 1st VM..."
echo "we can backup 2nd VM now, begin the backup, and sleeping for 3.5 hours"
tar cvf /home/user/netgear/$FILE2 /var/lib/vmware/Virtual\ Machines/Windows\ Svr\ 2k8\     x64/ --exclude *.log

sleep 12600
#could the problem be the time here? we are looking for 3.5hours.
echo "backup should be completed by now...
echo "though we backed up two, we only restart one guest machine..and wait 3 minutes"
vmrun -T ws start /var/lib/vmware/Virtual\ Machines/Windows\ Svr\ 2k8\ x64-3/Windows\     Svr\ 2k8\ x64-3.vmx nogui
sleep 180
echo "guest should be rebooted by now"
cd /home/user/netgear
echo "************LIST OF DIRECTORIES************"
ls -lh
echo "************END OF DIRECTORIES*************"
echo "$now backup is complete"

1 个答案:

答案 0 :(得分:1)

在备份脚本命令工作后删除sleep 12600命令。该脚本不需要它按照应有的方式工作。