Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> 電腦軟件教程 >> 服務器技術 >> 關於服務器 >> 使用rsync對網站進行增量備份(從linux到windows)

使用rsync對網站進行增量備份(從linux到windows)

日期:2017/2/8 10:16:16      編輯:關於服務器

以前使用VPS的時候,包括本博客一類的個人網站,一般都用SH腳本利用FTP備份(詳情見我之前的一篇博客),這種方法的優點是簡單快速。但是最近在給公司的網站做備份時,卻遇到了不小的問題,公司的網站數據量較大,有30多個G,如果用FTP備份的話,足足花了我一個上午,更嚴重的是滿足3天備份數據的話,磁盤空間暴漲;如果設置成自動備份的話,每天硬盤要壓縮30G數據,然後再傳輸到備份服務器,我擔心不到半月硬盤就得掛掉!

以前做數據庫管理的時候,在遇到備份數據較大的時候,可以進行增量備份,原理雖然一樣,但是沒有接觸過文件增量備份,還好我們有GOOGLE,參考了網上常用的一些網站增量備份的辦法,發現一個開源的軟件rsync;

它的特性如下:

1、可以鏡像保存整個目錄樹和文件系統。

2、可以很容易做到保持原來文件的權限、時間、軟硬鏈接等等。

3、無須特殊權限即可安裝。

4、優化的流程,文件傳輸效率高。

5、可以使用rcp、ssh等方式來傳輸文件,當然也可以通過直接的socket連接。

 

公司的網站服務器為linux,備份服務器為windows,並不需要考慮實時備份,做到每天備份即可,具體的方法如下:

1.首先在linux服務器上面安裝rsync,

#wget http://rsync.samba.org/ftp/rsync/rsync-3.0.8.tar.gz

#tar zxvf rsync-3.0.8.tar.gz

#cd rsync-3.0.8

#./configure

#make

#make install

2.在vps上創建rsyncd的配置文件/etc/rsyncd.conf,內容如下:

uid = root # 備份以什麼身份進行,用戶ID

gid = root # 備份以什麼身份進行,組ID

#注意這個用戶ID和組ID,如果要方便的話,可以設置成root,這樣rsync幾乎就可

#以讀取任何文件和目錄了,但是也帶來安全隱患。建議設置成只能讀取你要備

#份的目錄和文件即可。

#use chroot = no

max connections = 0 # 最大連接數沒有限制

pid file = /var/log/rsync/rsyncd.pid

lock file = /var/log/rsync/rsync.lock

log file = /var/log/rsync/rsyncd.log

[web] # 指定認證的備份模塊名

path = /home/ # 需要備份的目錄

comment = BACKUP wwwroot # 注釋

ignore errors # 忽略一些無關的IO錯誤

read only = false # 設置為只讀

list = false # 不允許列文件

#hosts allow = 210.51.0.80 #允許連接服務器的主機IP地址

#hosts deny = 0.0.0.0/0.0.0.0 #禁止連接服務器的主機IP地址

#auth users = wwek # 認證的用戶名,如果沒有這行,則表明是匿名(建議使用匿名,配合指定運行單一IP地址備份即可)

secrets file = /etc/rsyncd.secrets # 認證文件名,用來存放密碼

3.由於指定了密碼文件,該文件只能是root用戶可讀寫的,注意,出於安全目的,這個文件的屬性必需是只有屬主可讀,否則rsync將拒絕運行。我們可以設置它的屬性為600:

# chmod 600 /etc/rsyncd.secrets

# mkdir /var/log/rsync

4.服務器上啟動rsyncd服務:

# /usr/local/bin/rsync –daemon

5.windows安裝配置cwrsync 客戶端 cwrsync也就是windows上的rsync了。

然後執行備份命令

rsync -vzrtopg –progress –delete [服務器IP]::web [/cygdrive/f/backup]

其中web是服務器配置文件中的模塊名,/cygdrive/f/backup是指備份到本地F:/backup

Copyright © Windows教程網 All Rights Reserved