close

現場(環境):Ubuntu 16.04 套件:Virtualbox

 


原因:

 

使用者應該都很習慣使用圖形化的方式來進行備份,

 

不管是Snapshot或者export

 

這些都是在我們手動操作的階段,

 

如果我們想要寫Shell Scipt讓他自動備份該怎麼辦?

 

 


處理方式:

 

Virtualbox在安裝時就一並給了我們許多方便的套件,

 

這邊要提到的是使用他內部指令進行一些操作。

 


*下述指令,我們皆針對名稱叫作”VM”的虛擬機進行操作。

 

// [快照]取得

 

#sudo VBoxManage snapshot VM take "20180214"

 

//基本上snapshot這個參數就是執行快照相關功能。

 

//take後面帶上這次snapshot的名稱是什麼。

 

//snapshot名稱可以相同(因會取得不同UUID)。但你會維護不易

 

 


// [快照]還原

 

#sudo VBoxManage snapshot VM restore "20180214"

 

// 還原部份是使用 restore 這個參數

 

// 最後帶的是你要還原的snapshot名稱。或者UUID也可以。

 

 


//[快照]刪除

 

#sudo VBoxManage snapshot VM delete “20180214”

 

// 刪除部份是使用 delete 這個參數

 

// 最後帶的是你要刪除的snapshot名稱。

 

// 或者名稱都一樣,你要刪除指定UUID也可以(如下圖 )

 

 


//[快照]刪除-錯誤狀況

 

//當要刪除的快照不在。就會出現下面的錯誤。

 

#sudo VBoxManage snapshot VM delete “20180215”

 

 


//[快照]檢查

 

#sudo VBoxManage snapshot VM list

 

//檢查這個虛擬機裏面有多少快照存在。

 

//只要使用list就可以將VM這台虛擬機目前的快照數顯示出來。

 

下圖的範例,可以看到我們將虛擬機內的快照列出來。

 

而且取了相當多相同名稱的snapshot

 

可以這樣做的原因。大家也能很明顯的看到。

 

每次快照取得的UUID皆不相同。

 

 

如果這台虛擬機內,並未存在任何快照紀錄,

 

則會出現如下圖訊息。

 

 


 

再來我們談到,另一種備份的方法「匯出」

 

虛擬機要進行匯出的時候,虛擬機的狀態要處於「關閉」的狀態。

 

否則是沒有辦法進行匯出的動作。

 

關閉的方法有兩種,直接切掉電源&循序進行關機

 

#sudo VBoxManage controlvm VM poweroff

 

#sudo VBoxManage controlvm VM acpipowerbutton

如果講求時間的話,我會選擇使用poweroff

 

因為在虛擬機匯出前我會進行一次快照,

 

等匯出完畢,我再將虛擬機還原到最新快照狀態。

 


//[匯出]虛擬機

 

#sudo VBoxManage export VM -o VMBAK_20180214.ova

 

// export 進行匯出 ;匯入是import

 

// -o 後面帶的是你這次匯出的檔案名稱。

 

// 匯出的格式可以為下列三種:ovf/ova/tar.gz

 

 


 

匯出完成後,我們要還原快照狀態。

 

//假設最新快照是20180214

 

#sudo VBoxManage snapshot VM restore "20180214"

 

到這邊還沒有結束喔!!

 

還原快照。只是還原到他的狀態。

 

但你的虛擬機還沒有啟動。

 

最後要開啟虛擬機。

 

#sudo VBoxManage startvm VM

 

 

 

看到power on & & successfully started才可以放心!

 

如此就學會用指令完成匯出&快照了。

 

匯入部份就比較麻煩,我們放到之後再來討論。

 


後記:

 

基本上VirtualBox指令執行時,

 

都會有計量表顯示你現在完成的進度到多少。

 

0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

 

<本篇完>

 

 

 

 

arrow
arrow
    全站熱搜

    IT001 發表在 痞客邦 留言(0) 人氣()