因爲須要對網絡設備作備份,備份文件是放到windows機器上的。如今須要將備份數據同步到linux備份機器上,想到的方案有三種:linux
1)將windows的備份目錄共享出來,而後在linux服務器上進行掛載,最後對掛載目錄進行定時同步。這種方式不太安全。 2)使用tftp、sftp方式,也不太安全。 3)推薦經過rsync方式(cwRsyncServer_4.1.0_Installer),windows機器到windows機器之間的按期同步也使用這種方式。
下面簡單介紹下使用rsync方式的同步過程:vim
1、windows上的操做記錄
1)在windows server上安裝配置Cwrsyncserver,按照提示一步步安裝便可,須要注意下cwrsyncserver有個設置用戶與密碼的地方,要麼就改成本身的用戶名與密碼。好比用戶Administrator,密碼:123456,這個用戶名與密碼是一會啓動服務時須要的,也就是你服務器的用戶名和密碼,若是感受不安全,能夠考慮在WINDOWS中建立一個用戶名和密碼。windows
2)配置rsyncd.conf 文件安全
use chroot = false strict modes = false #不驗證用戶密碼, hosts allow = 192.168.1.90 #只容許ip爲192.168.1.90的客戶機來同步數據 max connections = 5 #指定最大的鏈接數,默認是0即沒有限制 lock file = rsyncd.lock log file = rsyncd.log port = 873 #默認就是873,也能夠指定爲其餘端口 pid = 0 #pid和uid爲0,表示指定匿名訪問 uid = 0 [backup] #模塊名字,這個能夠自定義 path = /cygdrive/d/Backup #選擇備份路徑,不支持中文 read only = yes #只讀模式 transfer logging = yes list = no auth users = Administrator #指定訪問的用戶名 secrets file = /cygdrive/e/Setting/Rsync/rsync_db.ps #指定訪問的用戶名密碼 特別注意: 以上Windows目錄的寫法,應該按照POSIX風格來寫,默認配置文件的寫法cygwin貌似不工做,而要寫成cygdrive,如上面D:/Backup,要寫成/cygdrive/d/Backup。
新建密碼文件:E:\Setting\Rsync\rsync_db.psbash
Administrator:PASSWD_123@bjk 注意: 此密碼文件裏的格式是"用戶名:密碼",這個密碼能夠隨意指定。但最好設置服務器的用戶名和密碼。若是以爲不安全,就另外建立一個用戶名和密碼,專門用於rsync同步之用。 可是千萬要記得這個建立的用戶名對E:\Setting\Rsync\rsync_db.ps這個密碼文件要有修改的操做權限。
3)啓動cwrsync服務(注意: 若是開啓了防火牆,則防火牆規則中要添加Tcp端口873容許通訊)
右鍵 個人電腦->管理->服務與應用程序->服務->RsyncServer->右鍵 屬性->登錄-> 在此賬戶輸入有效的用戶名(域用戶、要有權限管理E盤的用戶名哦),密碼和、再次確認密碼;此處使用域管理員賬號與密碼(若是用戶和密碼無權限或錯誤,將沒法啓動RsyncServer服務)。啓動RsyncServer服務,並修改屬性爲自動,以便後續開機就啓動此服務。服務器
服務啓動成功後,就能夠配置linux客戶端了。網絡
2、linux客戶端(192.168.1.90)上的操做記錄
1)先查看下可否連通windows機器(192.168.1.101)的873端口(rsync端口)。以下表示鏈接正常!ui
[root@backup ~]# telnet 192.168.1.101 873 Trying 192.168.1.101... Connected to 192.168.1.101. Escape character is '^]'.
2)進入Linux服務器,新建一個backup_passwd的文件,內容爲在上面windows中RsyncServer中設定的密碼內容:spa
[root@backup ~]# cd /root [root@backup ~]# vim backup_passwd #再將密碼寫入些文件中 PASSWD_123@bjk [root@backup ~]# chmod 600 backup_passwd #改下權限,只有root用戶能看。
3)linux服務器上要安裝rsync環境。這裏將windows備份數據同步到linux的/Win_Back目錄下(爲了安全考慮,能夠不添加下面命令中的--delete參數)server
[root@backup ~]# rsync -av --progress --delete --port=873 --password-file=/root/backup_passwd Administrator@192.168.1.101::backup /Win_Back/
4)建立備份腳本
[root@backup ~]# mkdir /root/backup [root@backup ~]# vim /root/backup/win_bak.sh #!/bin/bash #create by fengzehua PASSWORD=/root/backup_passwd SOURCE='192.168.1.101::backup' USER=Administrator DEST=/Win_Back/ echo "start backup file server" /usr/bin/rsync -av --progress --delete --port=873 --password-file=$PASSWORD $USER@$SOURCE $DEST if [ $? -eq 0 ] then echo "file server backup successfully!" else echo "file server backup failure, try again:" /usr/bin/rsync -av --progress --delete --port=873 --password-file=$PASSWORD $USER@$SOURCE $DEST fi
5)定時備份任務,每小時執行一次同步操做
[root@backup ~]# crontab -e 0 * * * * /bin/bash -x /root/backup/win_bak.sh > /dev/null 2>&1