2013-08-28 35 views
-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" 
+0

您的備份策略是以非增量方式tar原始vdk文件? – jordanm

+0

是的,那是備份策略。正確。這是一個好方法嗎?或者我應該改進它? – trainerbee

+1

我想我明白了;因爲我什麼也沒有聽到;我一直在審查我的代碼。解除睡眠12600的睡眠命令應該是修復。看起來它並不是真的需要,因爲無論如何,腳本在休息時都是靜止的。所以......我一直在做的是告訴系統在備份結束後再睡3個半小時;導致腳本的重啓部分在那段時間內被延遲。 – trainerbee

回答

1

在備份腳本命令工作後刪除睡眠12600命令。該腳本不需要它按照它應該的方式工作。

+0

按左側的複選標記將此答案標記爲已接受。然後問題會變成綠色,表明它有答案。 –

相關問題