---
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=<copy=mon-fri>ftp://ftpid:ftppassword@192.168.10.117/vmware/${vm}    
#如果要使用FTP功能，從ESX上備份到FTP Server的話，可以用這個設定，但是這次沒有要這麼作    
###    destination=<copy=thu>f:\vmbackup\${vm}-%Y-%m-%d    
#這次要測試直接備份到外接硬碟，所以直接輸入備份路徑就可以了，當然要讓ftp那邊能夠存取得到    


底下先不用管    
#<backup=mon-fri>ftp://localhost/${vm}    
#<copy=fri>/backup/vmware/${vm}-${nweekdayname}    
#<copy=sat>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`
