Rsync同步工具

rsync配置文件:/etc/rsyncd.conf ###安裝rsync後系統默認不存在rsyncd.conf   須要本身建立。centos

[root@zhu-centos6 ~]# cat /etc/rsyncd.conf安全

##rsyncd.conf start##服務器

uid = rsyncide

gid = rsyncui

use chroot = nospa

max connections = 200進程

timeout = 300rem

pid file = /var/run/rsyncd.pidget

lock file = /var/run/rsync.lock同步

log file = /var/log/rsyncd.log

[zhuzhiwei] ###項目名稱,能夠隨意定義。

path = /data1/ ###共享的目錄

ignore errors

read only = false

list = false

hosts allow = 192.168.2.0/24 ###容許訪問的IP地址

hosts deny = 0.0.0.0/32 ###拒絕訪問的IP地址

auth users = zzw ###rsync用戶的別名,可隨意定義。

secrets file = /etc/rsync.password ###rsync密碼文件。

[root@zhu-centos6 ~]# cat /etc/rsync.password ###rsync密碼文件。

zzw:123@asd ###分號前部分爲rsync用戶別名,後面爲密碼

[root@zhu-centos6 ~]# chmod 600 /etc/rsync.password ###安全起見密碼用戶的權限設置爲600

[root@zhu-centos6 ~]# ll /etc/rsync.password

-rw------- 1 root root 8 Jun 10 15:21 /etc/rsync.password

例子:zhu-centos6 做爲備份服務器,Centos6-Vm-A-247做爲客戶端。

[root@zhu-centos6 ~]# useradd rsync -s /sbin/nologin ##首先建立rsync用戶,禁止用戶登陸。

[root@zhu-centos6 ~]# mkdir /data1 ###建立要共享的目錄,共享的目錄名稱要和rsyncd.conf配置文件裏面的共享目錄相同

[root@zhu-centos6 ~]# chown -R rsync.rsync /data1 ###指定共享目錄的權限,屬主和屬組都是rsync。

[root@zhu-centos6 ~]# ls  -l  | grep data1 ###查看共享目錄的權限信息。

drwxr-xr-x    2 rsync     rsync      4096 Jun 10 15:28 data1

[root@zhu-centos6 ~]# rsync daemon ###啓動rsync進程

[root@zhu-centos6 ~]# ps -ef | grep -v grep | grep rsync ###查看rsync進程是否啓動

root      1596     1  0 Jun05 ?        00:00:00 rsync --daemon

##########到此服務器端配置完成#####接下來配置客戶端

[root@Centos6-Vm-A-247 ~]# cat /etc/rsync.password ##首先建立密碼文件,密碼文件內容要和服務器端密碼文件裏面的密碼一致。

123@asd

[root@Centos6-Vm-A-247 ~]# chmod 600 /etc/rsync.password ###安全起見密碼用戶的權限設置爲600

[root@Centos6-Vm-A-247 ~]# ll /etc/rsync.password

-rw------- 1 root root 8 Jun 10 15:21 /etc/rsync.password

[root@Centos6-Vm-A-247 aaa]# pwd ###檢查要同步的目錄路徑

/aaa

[root@Centos6-Vm-A-247 aaa]# ls

1  10  2  3  4  5  6  7  8  9

[root@Centos6-Vm-A-247 aaa]# rsync -avz  /aaa/ zzw@192.168.2.185::zhuzhiwei --password-file=/etc/rsync.password ###向備份服務器端發送文件

sending incremental file list

./

1

10

2

3

4

5

6

7

8

9

sent 450 bytes  received 201 bytes  1302.00 bytes/sec

total size is 0  speedup is 0.00

———————————————————————————

PS:同步時用到的命令含義。

-avz #rsync同步時所帶的選項。

/aaa/ #將「aaa」目錄裏面的全部文件上傳到備份服務器的共享目錄裏面。

zzw@192.168.2.185 ###zzw爲rsync的虛擬帳戶,192.168.2.185爲備份服務器的IP。

::zhuzhiwei ##服務器端的項目名稱

--password-file=/etc/rsync.password ##rsync虛擬用戶的密碼文件,如不使用此選項,需在同步文件時輸入一次rsync虛擬帳戶的密碼。

——————————————————————————————

[root@Centos6-Vm-A-247 ~]# rsync -avz zzw@192.168.2.185::zhuzhiwei  /data1/ --password-file=/etc/rsync.password  ##從備份服務器端獲取文件,/data1/是從服務器端獲取的文件放到本地的data1目錄下

receiving incremental file list

./

1

10

2

3

4

5

6

7

8

9

sent 251 bytes  received 537 bytes  1576.00 bytes/sec

total size is 0  speedup is 0.00

[root@Centos6-Vm-A-247 ~]# ls /data1

1  10  2  3  4  5  6  7  8  9

————————————————————————————

————————————————————————————

從客戶端向服務端發送文件時排除文件

[root@Centos6-Vm-A-247 aaa]# rsync -avz  --exclude=123 /aaa/ zzw@192.168.2.185::zhuzhiwei --password-file=/etc/rsync.password  #發送過程當中排出單個文件

[root@Centos6-Vm-A-247 aaa]# rsync -avz  --exclude={123,456} /aaa/ zzw@192.168.2.185::zhuzhiwei --password-file=/etc/rsync.password  #發送過程當中排出多個文件文件中間用逗號隔開。

若是想要排除更多的文件,能夠寫一個.log的文件,把須要排除的文件名添加到.log文件中,以下:

排除的文件名

[root@Centos6-Vm-A-247 ~]# rsync -avz  --exclude-from=/tmp/paichu.log /aaa/ zzw@192.168.2.185::zhuzhiwei --password-file=/etc/rsync.password

服務端接收和發送時排除文件(此方法不太靈活,不推薦使用)

須要在rsyncd.conf 的配置文件的項目裏面添加一個排除規則,以下圖:

注意:排除時也能夠指定文件的全路徑

需重啓rsync服務,

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

無差別同步

[root@Centos6-Vm-A-247 data1]#rsync -avz --delete /data1/ zzw@192.168.2.185::zhuzhiwei --password-file=/etc/rsync.password    ###向服務器端推送數據,客戶端服務器有什麼備份服務器就有什麼。

[root@Centos6-Vm-A-247 data1]#rsync -avz --delete zzw@192.168.2.185::zhuzhiwei /data1/ --password-file=/etc/rsync.password    ###從備份服務器端拉數據,備份服務器端有什麼,客服端服務器就有什麼。

切記無差別同步數據時危險性大,必定要注意文件的路徑,不然會形成文件的丟失。

相關文章
相關標籤/搜索