-1
我有一個備份腳本,我在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"
您的備份策略是以非增量方式tar原始vdk文件? – jordanm
是的,那是備份策略。正確。這是一個好方法嗎?或者我應該改進它? – trainerbee
我想我明白了;因爲我什麼也沒有聽到;我一直在審查我的代碼。解除睡眠12600的睡眠命令應該是修復。看起來它並不是真的需要,因爲無論如何,腳本在休息時都是靜止的。所以......我一直在做的是告訴系統在備份結束後再睡3個半小時;導致腳本的重啓部分在那段時間內被延遲。 – trainerbee