1. 程式人生 > >rsync服務器搭建

rsync服務器搭建

rsync

rsync服務器搭建

[root@M01 ~]# yum install rsync -y

[root@BACKUP ~]# cat /etc/rsyncd.conf #配置文件沒有就創建
#rsync_config
uid = rsync
#用戶uid
gid = rsync
#用戶gid
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
#不上列表(相當於ls)
hosts allow = 192.168.44.0/24
#允許的網段
hosts deny = 0.0.0.0/32
#拒絕的網段,多網段不建議使用
auth users = rsync
#連接的用戶
secrets file = /etc/rsync.password
#虛擬用戶的賬號密碼文件

[root@BACKUP ~]# useradd rsync -s /sbin/nologin -M #創建用戶rsync不登錄系統,不創建家目錄

[root@BACKUP backup]# pkill rsync #殺死rsync進程

[root@BACKUP ~]# rsync --daemon #啟動rsync服務
[root@BACKUP ~]# ps -ef|grep rsync #查看服務運行情況
root 2032 1 0 11:06 ? 00:00:00 rsync --daemon

[root@BACKUP ~]# mkdir /backup #創建共享目錄
[root@BACKUP ~]# chown -R rsync.rsync /backup/ #權限給rsync
[root@BACKUP ~]# chmod -R 755 /backup #設置目錄權限

[root@BACKUP ~]# ls -ld /backup/
drwxr-xr-x 2 rsync rsync 4096 Apr 1 11:08 /backup/

[root@BACKUP ~]# cat /etc/rsync.password #創建密碼文件
rsync:yehaixiao
root@BACKUP ~]# chmod 600 /etc/rsync.password #設置文件的權限
[root@BACKUP ~]# ls /etc/rsync.password -l
-rw------- 1 root root 19 Apr 1 11:15 /etc/rsync.password
或 echo "rsync:yehaixiao" >/etc/rsync.password

#查看端口運行情況
[root@BACKUP ~]# lsof -i :873
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
rsync 2032 root 3u IPv4 12917 0t0 TCP :rsync (LISTEN)
rsync 2032 root 5u IPv6 12918 0t0 TCP
:rsync (LISTEN)
[root@BACKUP ~]# netstat -lntup|grep 873
tcp 0 0 0.0.0.0:873 0.0.0.0: LISTEN 2032/rsync
tcp 0 0 :::873 :::
LISTEN 2032/rsync

#rsync服務加入開機自起動
[root@BACKUP ~]# echo "/usr/bin/rsync --daemon" >> /etc/rc.local

#客戶端配置
[root@M01 ~]# yum install rsync -y
echo "yehaixiao" >/etc/rsync.password #“yehaixiao”為密碼

[root@NFS01 ~]# chmod 600 /etc/rsync.password #設置文件的權限
[root@NFS01 ~]# ls /etc/rsync.password -l
-rw------- 1 root root 19 Apr 1 11:15 /etc/rsync.password

[root@NFS01 ~]# mkdir /backup #本地用來打包的目錄,然後rsync推送

推送:
#從文件中讀密碼,/backup/本地目錄下的文件(不帶/,就備份目錄和目錄下的文件) ,用戶@server::模塊
1,[root@NFS01 backup]# rsync -avz --password-file=/etc/rsync.password /backup/ rsync@BACKUP::backup
2,[root@NFS01 backup]# rsync -avz --password-file=/etc/rsync.password /backup/ rsync://rsync@BACKUP/backup/

#--exclude=boot2018-04-01.tar.gz 排除同步這個文件,多個文件用--exclude={a,b,c}
[root@NFS01 backup]# rsync -avz --exclude=boot2018-04-01.tar.gz --password-file=/etc/rsync.password /backup/ rsync@BACKUP::backup

#--delete命令建議不用,會刪除服務器與本機不同的文件
[root@NFS01 backup]# rsync -avz --delete --password-file=/etc/rsync.password /backup/ rsync@BACKUP::backup
sending incremental file list
./
deleting sut1.txt
deleting sut2.txt

#--bwlimit=10限速為10M/秒,通過1024換算後大概8M/秒
[root@NFS01 backup]# rsync -avz --bwlimit=10 --password-file=/etc/rsync.password /backup/ rsync@BACKUP::backup

#排錯
rsync客戶端排錯思路
1,查看密碼文件是否為600權限,密碼格式是否正常(只有密碼)
2,可telnet服務器的873端口

rsync服務端排錯思路
1.輸出
2.[root@BACKUP ~]# tail -1 /var/log/rsyncd.log #查看日誌
3.配置的文件名和路徑,還有配置內容
4.host allow ,host deny的IP網段允許範圍
5.path參數裏的路徑是否存在,文件夾的權限是否正常
6.查看服務是否啟動,ps -ef|grep rsync 或netstat -lntup|grep rsync
7.配置密碼文件或格式,還有600權限對不對
8.推送數據,模塊的用戶和文件夾權限對不對

@ERROR: chroot failed
原因:
服務器端的目錄不存在或無權限,創建目錄並修正權限可解決問題。

@ERROR: auth failed on module tee
原因:
服務器端該模塊(tee)需要驗證用戶名密碼,但客戶端沒有提供正確的用戶名密碼,認證失敗。
提供正確的用戶名密碼解決此問題

@ERROR: Unknown module ‘tee_nonexists‘
原因:
服務器不存在指定模塊。提供正確的模塊名或在服務器端修改成你要的模塊以解決問題

@ERROR: auth failed on module backup
遇到這個問題:client端已經設置/etc/rsync.pas這個文件,裏面也設置了密碼111111,和服務器一致,但是
服務器段設置有錯誤,服務器端應該設置/etc/rsync.pas ,裏面內容root:111111 ,這裏登陸名不可缺少

rsync: failed to connect to 10.10.10.170: Connection refused (111)
原因:
服務未啟動 ,[root@BACKUP backup]# rsync --daemon

rsync: recv_generator: mkdir "/teacherclubBackup/rsync……" failed: No space left on device (28)
原因:
磁盤空間滿

企業案例:
某運維白天做數據同步,帶寬占滿,導致用戶無法訪問網站
解析:通過排查是數據同步,點用帶寬的問題導致的,加上限速功能就搞定了

rsync服務器搭建