如何自動備份Linux/Unix服務器的數據

primabackup.sh 說明文檔
版本:2.0.1

工具下載地址:http://swsoft.com.cn/downloads/Prima/Tools/primabackup-2.0.1.tar.gz

0. 版本更新
* 2005-03-28 ValueOf.com v2.0.1
- [fix] 備份resin和tomcat的配置
- [fix] 修復配置備份子目錄的位置

1. 概述
primabackup.sh腳本可用來備份數據。

2. 安裝
解壓:
tar zxf primabackup.tar.gz

3. 配置
要求的設定
3.1 備份到那個目錄
BACKUP_BASE_DIR="/backup" 備份文件所在的根目錄

3.2 備份哪些數據
WEB=1 備份web
EMAIL=1 備份email
DNS=1 備份dns
MYSQL=1 備份mysql
CONTROL=1 備份主控界面目錄

如果不需要備份某個功能,則將其改成0

3.3 保留多少份舊的備份?
即除了當前最新的這個備份之外,還保留幾個備份,最少爲0個,默認爲1
如果設爲0,則只保留一個備份,每次備份的時候都會把以前的備份刪除
max_old_backup=1

4. 備份的過程
首先根據設置,決定要備份的數據和配置,然後創建
備份根目錄下的以日期時間爲名字的目錄,在這個目錄的data子目錄下備份數據的tar包
在conf子目錄下備份配置文件和目錄。

5. 數據位置
web數據的位置,默認/www/users,程序會自動到prima.conf裏面找home_base配置,如果找到則用更改之後的配置
mail數據的位置,默認/var/vmail,程序會自動到prima.conf裏面找mail_space_base配置,如果找到則用更改之後的配置
dns數據的位置,默認/var/named,程序會自動到prima.conf裏面找zonefile_base配置,如果找到則用更改之後的配置
mysql數據的位置,linux默認/var/lib/mysql,FreeBSD默認/var/db/mysql

如果prima.conf中打開了網站生成、計數器應用,則會備份相應的數據目錄。

程序根據prima.conf中use_mod_caucho/use_mod_jk來判斷是否備份相應的resin和tomcat配置

named.conf默認/etc/named.conf,程序會自動到prima.conf裏面找named_conf配置,如果找到則用更改之後的配置

如果是主控服務器,請務必打開MYSQL備份。

6. 關於測試模式
如果將
#testmode=1
改成
testmode=1
則,只打印要做的事情,不做實際備份。

7. 備份文件的命名方法
對於目錄的備份。備份文件是目錄名.tar.gz,如
/www/users -> /backup/20040903-140101/data/users.tar.gz

對於文件的備份,則直接是文件名,如
/etc/named.conf -> /backup/20040903-140101/conf/named.conf

完整列表如下:
/www/prima -> data/prima.tar.gz
/www/users -> data/users.tar.gz
/var/vmail -> data/vmail.tar.gz
/var/named -> data/named.tar.gz
/var/lib/mysql -> data/mysql.tar.gz
/www/prima/htdocs/apps/GenComSite/sitepage -> data/sitepage
/www/prima/htdocs/apps/GenComSite/upload -> data/upload.tar.gz
/var/Counter -> Counter.tar.gz

/usr/prima/etc -> conf/etc.tar.gz
/usr/prima/postfix/conf -> conf/conf.tar.gz
/etc/named.conf -> conf/named.conf
/usr/local/resin/conf/host.conf -> conf/host.conf
/var/tomcat4/conf/server.xml -> conf/server.xml
/www/prima/htdocs/apps/phpMyAdmin/config.inc.php -> conf/config.inc.php

8. 注意事項
8.1
注意:此備份爲完整備份,備份目錄應有足夠空間容納。
雖然在備份過程,經過壓縮,空間會減小,但建議備份目錄至少和數據全部大小相同。
這樣才能保證容納至少一個完整備份,一般情況下,可以容納兩個完整備份。

8.2
在進行備份的時候,對cpu和磁盤的負擔是比較重的,建議加上nice以降低程序執行優先級,而且最好在凌晨運行。
如:
# nice ./primabackup.sh

9. 通過cronjob自動週期性備份
通過修改/etc/crontab,可以將備份設爲週期性自動的。
/etc/crontab中每一條都是一個定期任務,#號開頭的除外。
格式如下:
分鐘 小時 月中的某一天 月 星期幾 執行者 命令行

例如:
0 2 * * * root /bin/cmd
即在每天的凌晨2點以root身份執行/bin/cmd命令

假如要配置備份任務每天2點執行,將輸出的消息寫到日誌文件裏,則在/etc/crontab中加入:
0 2 * * * root nice /root/primabackup/primabackup.sh >> /var/log/primabackup.log
上面假設備份腳本的位置在/root/primabackup/primabackup.sh
日誌放在/var/log/primabackup.log
加了nice降低執行優先級。

如果要每週六2點執行,則:
0 2 * * 6 root nice /root/primabackup/primabackup.sh >> /var/log/primabackup.log
(6代表星期六,0 或 7 代表星期天)

修改/etc/crontab不用重起任何服務。


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章