rsync 備份服務搭建(完成)

rsync服務守護進程 服務器端配置過程:web

1. 檢查rsync是否安裝:服務器

rpm -qa rsyncide

2.添加rsync服務的用戶,管理本地目錄測試

useradd-s /sbin/nologin -M rsyncui

3.生成rsyncd.conf  配置文件(默認沒有須要手動建立)spa

touch /etc/rsyncd.conf  code

4. 寫入配置到 /etc/rsyncd.conf 文件中orm


#rsync_configserver

#created by HQ at 2017blog

##rsyncd.conf start##

uid = rsync

gid = rsync

use chroot = no

max connections = 200

timeout = 300

pid file = /var/run/rsyncd.pid

lock file = /var/run/rsync.lock

log file = /var/log/rsyncd.log

ignore errors

read only = false

list = false

hosts allow = 172.16.1.0/24

hosts deny = 0.0.0.0/32             ##這兩個同時寫,那就會形成其餘IP段也能經過rsync傳文件,解決辦法,保留一個

auth users = rsync_backup

secrets file = /etc/rsync.password

[backup]

comment = "backup dir by oldboy"

path = /backup




#created by oldboy 15:00 2016-11-15

##rsyncd.conf start##

uid = rsync                

gid = rsync                

use chroot = no              

max connections = 200        

timeout = 300                  

pid file = /var/run/rsyncd.pid  

lock file = /var/run/rsync.lock

log file = /var/log/rsyncd.log  

[backup]

path = /backup

ignore errors

read only = false

list = false

hosts allow = 172.16.1.0/24

hosts deny = 0.0.0.0/32               ##這兩個同時寫,那就會形成其餘IP段也能經過rsync傳文件,解決辦法,保留一個

auth users = rsync_backup

secrets file = /etc/rsync.password

5.寫入密碼到 密碼配置文件/etc/rsync.password

echo "rsync_backup:123456" >/etc/rsync.password

6. 給密碼文件添加權限避免其餘用戶看到

chmod 600 /etc/rsync.password

7.建立共享目錄 /backup並受權

mkdir /bakcup -p

chown -R rsync.rsync /backup

8. 啓動服務並檢查

rsync --daemon  服務器配置完成

9.添加到開機自啓動

echo "/usr/bin/rsync --daemon" >>/etc/rc.local

檢查是否成功啓動:lsof -i:873

[root@backup ~]# lsof -i:873            (進程啓動成功,配置完成)

COMMANDPID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

rsync2002 root    4u  IPv412746      0t0  TCP *:rsync (LISTEN)

rsync2002 root    5u  IPv612747      0t0  TCP *:rsync (LISTEN)

---------------------------

客戶端配置:

兩步:

1.  echo  '123456' >/etc/rsync.password

2.  chmod 600 /etc/rsync.password

測試:

客戶端:

[root@nfs01 backup]# rsync -avz /backup/ rsync_backup@172.16.1.41::backup/

Password:

sending incremental file list

./

1.txt

10.txt

2.txt

3.txt

4.txt

5.txt

6.txt

7.txt

8.txt

9.txt

所有推送到 遠程服務成功

配置無交互的密碼文件驗證方式:

rsrsync -avz /backup/sync_backup@172.16.1.41::backup/ --password-file=/etc/rsync.password


密碼文件存放: --password-file=/etc/rsync.password


服務器(10.0.0.31)建立文件:

to    touch chenleilei{1..100}.txt

        rsync -avz /backup/ rsync_backup@172.16.1.41::backup/ --password-file=/etc/rsync.password

看到文件都被推送過來了,表示成功完成實驗


百萬級小文件的實時同步方案:

http://www.ttlsa.com/web/let-infotify-rsync-fast/


watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=



注意:修改了服務配置必須重啓服務,不然沒法生效


重啓進程的兩個方法:

rm -f /var/run/rsyncd.pid  

pkill  rsync


進程結束了 最好確認一下:

lsof -i :873


一樣進程開啓了也須要確認一下

lsof -i :873



小問題:

vi /etc/rsyncd.conf   配置文件中: 


#hosts allow = 172.16.1.0/24

#hosts deny = 0.0.0.0/32

#hosts allow = 192.168.1.0/24


所有註釋都沒法傳輸 


hosts allow = 192.168.1.0/24   開放這一項 沒法傳輸

hosts deny = 0.0.0.0/32  #僅開放這一項 能夠傳輸



hosts allow = 172.16.1.0/24 #僅開放這一項 沒法傳輸 

所有註釋  能夠傳輸???


rsync -avz /backup/ rsync_backup@172.16.1.41::backup/ --password-file=/etc/rsync.password  能夠在沒有任何權限的狀況下 推送文件到 服務器


hosts deny = 0.0.0.0/32   能夠傳輸

hosts allow = 172.16.1.0/24 能夠傳輸


hosts allow = 192.168.1.0/24  單項開啓  沒法傳輸  

hosts deny = 0.0.0.0/32       單項開啓:  能夠傳輸 

hosts allow = 172.16.1.0/24        單項開啓:能夠傳輸


hosts deny = 0.0.0.0/32     開啓  

hosts allow = 192.168.1.0/24  開啓     這兩項同時開啓,能夠傳輸


hosts allow = 172.16.1.0/24     開啓

hosts allow = 192.168.1.0/24  開啓 這兩項  沒法傳輸


註釋其餘全部添加外網網段

hosts alllow = 10.0.0.0/24   開啓 能夠傳輸




故障整理演示:

故障1:

@ERROR: chdir failed

rsync error: error starting client-server protocol (code 5) at main.c(1503) [sender=3.0.6]


答:  要上傳的目錄不存在嗎,由於我在另外一端刪除了 /backup 目錄 ,解決辦法 從新建立backup目錄 從新添加所屬主組 和數字權限600

[root@backup ~]# mkdir /backup -p

[root@backup ~]# chmod 600 /backup/

[root@backup ~]# chown rsync.rsync /backup/




推送數據:

rsync -avz /backup/ rsync_backup@172.16.1.41::backup/


拉回數據:

rsync -avz  rsync_backup@172.16.1.41::backup/ /backup


遠程推送數據:

sync -avz /backup/ rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password


拉回遠程數據:

rsync -avz rsync_backup@172.16.1.41::backup /backup --password-file=/etc/rsync.password

相關文章
相關標籤/搜索