小心謹(jǐn)慎或災(zāi)難體驗會讓每一個系統(tǒng)管理都認(rèn)識到頻繁的系統(tǒng)備份的重要性。你可以通過編寫管用的舊式 shell 腳本,或使用一個(或幾個)適合這項工作的備份工具來完成備份任務(wù)。因此,當(dāng)你要實施一個備份解決方案時,你了解的備份工具越多,你做出的決策就會越明智。
在這篇文章中,我們將為你介紹 backupninja ,這是一個輕量且易于配置的系統(tǒng)備份工具。在諸如 rdiff-backup, duplicity, mysqlhotcopy 和 mysqldump 等程序的幫助下, Backupninja 可以提供常用的備份功能,如執(zhí)行遠(yuǎn)程的、安全的和增量式的文件系統(tǒng)備份,加密備份以及 MySQL/MariaDB 數(shù)據(jù)庫備份。你可以選擇性地開啟使用 Email 狀態(tài)報告功能,也可以對一般的硬件和系統(tǒng)的信息進(jìn)行備份。 backupninja 的一個關(guān)鍵功能是它擁有一個內(nèi)建的基于控制臺的向?qū)С绦?被稱為 ninjahelper),而后者允許你為不同的備份情景輕松地創(chuàng)建配置文件。
如果非要說的話,backupninja 的缺點是:為了充分使用其所有的功能,它要求安裝一些其他“助手”程序。盡管 backupninja 有針對基于 Red Hat(紅帽)的發(fā)行版本的 RPM 安裝包,但 backupninja 針對 Debian 及其衍生發(fā)行版本的依賴進(jìn)行了優(yōu)化。所以不建議在基于 Red Hat 的系統(tǒng)上嘗試 backupninja 。
在這篇教程中,我們將介紹如何在基于 Debian 的發(fā)行版本上安裝 backupninja 。
安裝 Backupninja
以 root 賬戶來運行下面的命令:
代碼如下:
# aptitude install backupninja
在安裝的過程中,有幾個文件和目錄將被創(chuàng)建:
/usr/sbin/backupninja 是個 bash shell 的主腳本;
/etc/cron.d/backupninja, 默認(rèn)情況下,設(shè)置 cron 任務(wù)來每隔一個小時運行上面的主腳本;
/etc/logrotate.d/backupninja 截斷由 backupninja 程序產(chǎn)生的日志;
/etc/backup.d/ 是備份操作的配置文件駐留的目錄;
/etc/backupninja.conf 是包含一般選項的主配置文件。這個文件帶有良好的注釋且詳細(xì)解釋了每個選項的含義;
/usr/share/backupninja 是那些 backupninja 所使用的腳本所處的目錄。這些腳本文件負(fù)責(zé)執(zhí)行實際的工作。在這個目錄中,你還可以找到 .helper 文件,它們可以被用來配置和設(shè)定 ninjahelper 的菜單;
/usr/share/doc/backupninja/examples 含有操作配置文件(即通過 ninjahelper 產(chǎn)生的文件)的模板。
首次運行 Ninjahelper
當(dāng)我們嘗試啟動 ninjahelper 時,我們可以看到可能需要一個內(nèi)部依賴程序。假如系統(tǒng)進(jìn)行了提示,請輸入 “yes” 并敲下回車鍵來安裝 dialog(一個用于從 shell 腳本中顯示友好對話框的工具)。
當(dāng)你在鍵入 yes 后再敲回車鍵時,backupninja 將會安裝 dialog,一旦安裝完成,將呈現(xiàn)出下面的截屏:
案例 1: 備份硬件和系統(tǒng)信息
在啟動了 ninjahelper 之后,我們將創(chuàng)建一個新的備份操作:
如果必要的助手程序沒有被安裝,下面的截屏將會呈現(xiàn)在我們眼前。假如這些軟件包已經(jīng)在你的系統(tǒng)上安裝了,請?zhí)^這一步。
接下來的一步需要你選取相關(guān)條目來作為此次備份任務(wù)的一部分。前四個條目已經(jīng)默認(rèn)被選上了,但你可以通過在條目上按空格鍵來撤消選擇。
一旦你完成了上面的步驟,按 OK 選項來繼續(xù)。接著你將能夠選擇是愿意使用默認(rèn)的配置文件(/etc/backup.d/10.sys)來完成這次備份操作,還是創(chuàng)建一個新的配置文件。若為后者,一個含有與默認(rèn)配置文件內(nèi)容相同的文件將會在相同的目錄下被創(chuàng)建,但它被命名為 11.sys,后續(xù)的備份操作將會創(chuàng)建類似的文件(注:只不過命名的序號不同)。需要說明的是一旦這個新的配置文件被創(chuàng)建,你便可以使用你喜愛的文本編輯器來編輯該文件。
案例 2: 一個遠(yuǎn)程目錄的增量式 Rsync 拉取備份