--- title: 筆記-MKSBackup & ghettoVCB 免費備份 vmware esx 上的虛擬機 categories: 筆記 date: 2017-08-10 15:30:46 tags: [筆記,vmware] --- ## 事先準備 ### FTP Server - 準備一個外接硬碟,連到控制電腦上(在這裡是 F ) - Windows內安裝FTP Server (我用FileZilla) - 在FTP Server 上新增一個使用者,並指定家目錄到外接硬碟 ### 開啟VMWARE ESX SSH 登入 這個就不多說了 ## 在Windows內安裝 MKSBackup MKSBackup 是由 [MagiKmon](http://www.magikmon.com/mksbackup/) 出產的一個備份工具,同時可以支援wbadmin(windows 備份程式,如圖) ![](https://i.imgur.com/LHU0d26.png) 同時也支援 Linux底下的 tar、以及這次的重點[ ghettoVCB](https://github.com/lamw/ghettoVCB) (VMWARE 備份工具) 沒有圖形界面,都是簡單的命令列指令,以及讀取編輯好的 ini檔作為設定,內建EMAIL通知,可以把備份的狀況郵寄給管理者。非常方便、好用。 這邊簡單描述一下在Windows底下的安裝過程 理論上,不管是x86/x64 都可以安裝,雖然是以python寫成,但是不需要安裝python,不過需要 Microsoft Visual C++ 2008 Redistributable Package,如果沒有安裝過,可以在這邊下載 [vcredist_x86.exe](http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf) 確認安裝好 Microsoft Visual C++ 2008 Redistributable Package之後,就可以在[官網下載 MKSBackup](http://www.magikmon.com/mksbackup/download.en.html),下載完成後,點兩下就進行安裝。安裝過程會詢問一些問題,參考圖片說明 ![](https://i.imgur.com/TxrJ6jq.png) OK,到這邊,就完成了 MKSBackup在 Windows 底下的安裝 接下來要進行 ghettoVCB 的部份。 ---------- ## 確認 ghettoVCB安裝 在進行安裝MKSBackup時,就會順便下載最新版的 ghettoVCB,檔案在安裝路徑底下的vmware 目錄中 ![](https://i.imgur.com/n8rQseZ.png) 這樣就ok了,等一下再回頭來修改ghettoVCB的設定檔 ---------- 先來看看剛剛安裝的 MKSBackup可不可以執行 輸入 mksbackup -h 確認看看,出現這樣的畫面就OK了 ![](https://i.imgur.com/ooDyi7o.png) 接著來修改 mksbackup.ini 設定email通知的部份 用任何喜歡的編輯器編輯 mksbackup.ini(在安裝路徑下可以找到) 設定郵件寄送 ```Java Script ## if you don't want to setup any email config or receive any email report #mail=no #如果mail=no就不會發信了,註解掉 smtp_host=192.168.70.240 #輸入 Mail Server IP # smtp_mode can be normal, ssl or tls #郵件寄送模式,就一般吧 省得還要處理走SSL/TLS可能造成的問題,直接註解掉也可以 #smtp_mode=normal # smtp_port can in 25, 465, 587 or other #SMTP PORT 註解掉,用預設 #smtp_port=25 # smtp_login and smtp_password can be used if authentication is required by SMTP server 如果寄件要帳號密碼,在這邊輸入 #smtp_login=ID #smtp_password=PASS #sender is required #輸入寄件者email sender=mksbackup@abc.com # recipients is a list of space separated email addresses 收件者,可以有多個收件者,用空白鍵隔開 recipients=chchang@abc.com # maximum size of an attachment in (K) 附加檔案最大容量 #attachment_size=100 註解掉 底下就是一些備份工作的內容設定,我是都先全部拿掉,只剩下 VMWARE這塊,看起來比較簡單。 [VMWARE_FROM_WINDOWS] #備份工作名稱,注意大小寫,雖然在windows底下,但是執行的時候,大小寫也要一致才能正確執行。 program=ghettovcb #預設,不用改 host=192.168.70.220 #VMWARE ESX主機 IP port=22 #SSH Port 預設就是22 login=root #ESX登入帳號 password=ROOTpasswordatESX #ESX登入密碼 #identity_file=C:\magik\id_rsa #沒用到 local=d:\magik\vmware #本地MKSBackup工作目錄,就輸入安裝目錄 remote_temp=/tmp #ESX主機上工作目錄,輸入 /tmp script=ghettoVCB.sh #要執行的命令稿 global_conf=ghettoVCB.conf #設定檔 vm_list=NAMED-245 #要備份的VM名稱,有多個的話,用空白隔開 #取得VM名稱的方法,可以ssh到ESX主機後,下 esxcli vm process list #ftp_local=ftp://192.168.10.117/f/vmware #MKSBackup預設可以提供FTP Server功能,但是我一直測試不出來,放棄 #destination=ftp://ftpid:ftppassword@192.168.10.117/vmware/${vm} #如果要使用FTP功能,從ESX上備份到FTP Server的話,可以用這個設定,但是這次沒有要這麼作 ### destination=f:\vmbackup\${vm}-%Y-%m-%d #這次要測試直接備份到外接硬碟,所以直接輸入備份路徑就可以了,當然要讓ftp那邊能夠存取得到 底下先不用管 #ftp://localhost/${vm} #/backup/vmware/${vm}-${nweekdayname} #ftp://localhost/${vm} # -scp is required on last version of PuTTY #scp_bin="C:\Program Files\PuTTY\pscp.exe" -scp ``` ----- ###要修改的小地方 ghettoVCB.sh 檔名儲存的變數改成 `+%F-%H-%m` 格式會是這樣 `2017-08-11-01-08`