很多單位都有文件服務(wù)器備份的需求,并且常常是把一個(gè)服務(wù)器的文件自動(dòng)備份到另外一臺(tái)文件服務(wù)器 。如何實(shí)現(xiàn)呢?
一、Windows文件服務(wù)器自動(dòng)備份的方法
Windows文件服務(wù)器自動(dòng)備份的最簡(jiǎn)單方法是安裝專門的服務(wù)器文件自動(dòng)備份軟件,目前國(guó)內(nèi)有一些專門用于備份服務(wù)器文件的軟件。例如有一款“大勢(shì)至服務(wù)器文件自動(dòng)備份系統(tǒng)”(下載地址:http://www.grabsun.com/filebackup.html),只需要在服務(wù)器上安裝之后,就可以對(duì)服務(wù)器的文件進(jìn)行增量備份和全量備份,也就是可以把服務(wù)器的文件夾自動(dòng)、定時(shí)備份到服務(wù)器的其他磁盤分區(qū)、外接移動(dòng)硬盤、其他文件服務(wù)器或NAS存儲(chǔ)空間等,從而有效保護(hù)服務(wù)器文件安全,防止服務(wù)器文件丟失。如下圖所示:

圖:大勢(shì)至服務(wù)器文件自動(dòng)備份軟件
同時(shí),通過大勢(shì)至服務(wù)器文件自動(dòng)備份系統(tǒng)還可以實(shí)現(xiàn)只讓將一個(gè)服務(wù)器上的文件或文件夾以及對(duì)應(yīng)的賬號(hào),全部遷移到另外一個(gè)服務(wù)器,從而避免了重新設(shè)置賬戶和文件訪問權(quán)限的麻煩。如下圖:

圖:服務(wù)器文件遷移
當(dāng)然,你也可以通過腳本命令來實(shí)現(xiàn)。具體如下:
項(xiàng)目有些文件上傳到windows系統(tǒng)臨時(shí)文件,需要定期進(jìn)行備份。例如我要將D/information/images文件夾及其下所有文件復(fù)制到F/Archives文件夾下,方法如下:
1、新建txt文件,輸入以下內(nèi)容
參數(shù)解釋:
- /e:拷貝所有子目錄,包括空子目錄;
- /I: 如果目標(biāo)文件或目錄不存在且拷貝的文件數(shù)多于一,則假設(shè)目標(biāo)為目錄;
- /d:只拷貝文件日期與在目標(biāo)文件后的文件(即修改過的源文件)
- /h:同時(shí)拷貝隱藏文件和系統(tǒng)文件
- /r:拷貝并覆蓋只讀文件
- /y: 復(fù)制文件審核設(shè)置(不顯示已有文件覆蓋確認(rèn))
2、保存文本文件后,通過重命名將文件改為".bat"文件
3、win10系統(tǒng)中
開始處右鍵--> 計(jì)算機(jī)管理 --> 系統(tǒng)工具 --> 任務(wù)計(jì)劃程序 --> 任務(wù)計(jì)劃程序庫(kù) --> 創(chuàng)建任務(wù)
win7系統(tǒng)中
附件 --> 系統(tǒng)工具 --> 任務(wù)計(jì)劃程序 -- 創(chuàng)建任務(wù)
此處創(chuàng)建的是每天早上9點(diǎn)整執(zhí)行一次,創(chuàng)建完成后,參考圖3選中 該條任務(wù),點(diǎn)擊可選項(xiàng)中的“運(yùn)行”按鈕,查看運(yùn)行效果。
如果需要每隔N分鐘觸發(fā)一次,需要如下設(shè)置觸發(fā)器(以每10分鐘一次為例)
二、linux文件服務(wù)器自動(dòng)備份的方法
1、提前說明:
以在兩臺(tái)服務(wù)器之間建立定時(shí)同步為例,將服務(wù)器A /home/jack 路徑下的內(nèi)容備份到服務(wù)器B /home/test 路徑下
設(shè)置定時(shí)同步時(shí)間為5分鐘
2、配置過程:
服務(wù)端(即服務(wù)器A):
安裝rsync:yum -y install rsync
編寫rsync的配置文件:vim rsyncd.conf
解析如下:
uid = root #root用戶訪問(我這里用ROOT用戶,也可以用其他新建的用戶)
gid = root #root組用戶訪問
port=871 #通過端口873
use chroot = yes #可以使用chroot
read only = no #可讀寫
max connections = 4 #最大連接數(shù)
list = no #不列出文件清單
pid file = /var/run/rsyncd.pid #此步可沒有此文件
timeout = 900
lock file = /var/run/rsyncd.lock #此步可沒有此文件
log file = /var/log/rsyncd.log #此步可沒有此文件
[backup] #發(fā)布項(xiàng)(注意這個(gè)命名)
comment = this is module for backup #模塊介紹,可刪去
path = /home/jack/ #發(fā)布的路徑
ignore errors
auth users = root #認(rèn)證用戶為root
secrets file = /etc/rsyncd.pass #密碼文件
4.編寫用戶密碼文件:echo “root:111” > /etc/rsyncd.pass
(root:上一步設(shè)置的登錄用戶名;111:文件的密碼自己隨意設(shè),但要記住,接下來需要用到;此步創(chuàng)建了rsyncd.pass文件)
修改密碼文件的權(quán)限(此步很重要,且只能是600):chmod 600 /etc/rsyncd.pass
啟動(dòng)rsyncd服務(wù)
查看進(jìn)程占用端口:netstat -tunlp
(啟動(dòng)rsyncd服務(wù)后會(huì)顯示873端口被rsync占用)
客戶端(即服務(wù)器B):
1.yum -y install rsync
2.echo “root:123” > /etc/rsyncd/rsyncd.pass
(root:用戶名可不寫,如果寫,必須要和服務(wù)端設(shè)置的第3步中設(shè)置的用戶名一致; 111:密碼,必寫,要和服務(wù)端設(shè)置的第4步中的密碼一致)
3.chmod 600 /etc/rsyncd.pass
4.創(chuàng)建存放備份文件的路徑:mkdir /home/backups
(路徑自己隨意設(shè))
5.每隔5分鐘將服務(wù)器A中的backup模塊目錄下的文件(我們?cè)O(shè)置的是/home/jack)同步到本地下(我們?cè)O(shè)置的是/home/backups)
1> ssh-keygen -t dsa -b 1024
2> 將id_dsa.pub里面的內(nèi)容添加到B機(jī)的authorized_keys文件中cat /root/.ssh/id_dsa.pub >> authorized_keys1
3> 創(chuàng)建一個(gè)需要定時(shí)執(zhí)行的腳本文件,如:rsyncd.sh腳本:vi /etc/rsyncd.sh(路徑自己設(shè)置的),在此腳本中添加如下內(nèi)容:(命令的每條含義文檔最后有解釋)
rsync -auv --password-file=/etc/rsyncd.pass
root@192.168.22.99::backup /home/test/
4> 設(shè)置腳本執(zhí)行的時(shí)間:crontab –e,添加如下內(nèi)容
*/5 * * * * sh /etc/rsyncd.sh #第5分鐘執(zhí)行一次同步;
到此,同步配置基本完成,正常情況下每5分鐘就會(huì)同步一次
也可直接輸入同步命令檢查是否能夠同步,命令格式為:
rsync命令格式:rsync [option] 源路徑 目標(biāo)路徑
例如: 將服務(wù)器A backup模塊下要備份的文件同步到本地/home/test目錄下:
rsync -auv --password-file=/etc/rsyncd.pass
root@192.168.22.99::backup /home/test/
正常情況下,同步成功會(huì)顯示以上信息。