定時備份Windows文件到Linux服務器上(Rsync)


 

由於需要對網絡設備做備份,備份文件是放到windows機器上的。現在需要將備份數據同步到linux備份機器上,想到的方案有三種:

1)將windows的備份目錄共享出來,然后在linux服務器上進行掛載,最后對掛載目錄進行定時同步。這種方式不太安全。
2)使用tftp、sftp方式,也不太安全。
3)推薦通過rsync方式(cwRsyncServer_4.1.0_Installer),windows機器到windows機器之間的定期同步也使用這種方式。

下面簡單介紹下使用rsync方式的同步過程:

一、windows上的操作記錄
1)在windows server上安裝配置Cwrsyncserver,按照提示一步步安裝即可,需要注意下cwrsyncserver有個設置用戶與密碼的地方,要么就改為自己的用戶名與密碼。比如用戶Administrator,密碼:123456,這個用戶名與密碼是一會啟動服務時需要的,也就是你服務器的用戶名和密碼,如果感覺不安全,可以考慮在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.ps

Administrator:PASSWD_123@bjk
注意:
此密碼文件里的格式是"用戶名:密碼",這個密碼可以隨意指定。但最好設置服務器的用戶名和密碼。如果覺得不安全,就另外創建一個用戶名和密碼,專門用於rsync同步之用。
但是千萬要記得這個創建的用戶名對E:\Setting\Rsync\rsync_db.ps這個密碼文件要有修改的操作權限。

3)啟動cwrsync服務(注意: 如果開啟了防火牆,則防火牆規則中要添加Tcp端口873允許通信)
右鍵 我的電腦->管理->服務與應用程序->服務->RsyncServer->右鍵 屬性->登陸-> 在此帳戶輸入有效的用戶名(域用戶、要有權限管理E盤的用戶名哦),密碼和、再次確認密碼;此處使用域管理員帳號與密碼(如果用戶和密碼無權限或錯誤,將無法啟動RsyncServer服務)。啟動RsyncServer服務,並修改屬性為自動,以便后續開機就啟動此服務。

服務啟動成功后,就可以配置linux客戶端了。

二、linux客戶端(192.168.1.90)上的操作記錄
1)先查看下能否連通windows機器(192.168.1.101)的873端口(rsync端口)。如下表示連接正常!

[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中設定的密碼內容:

[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參數)

[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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM