搭建備份服務器


一、rsync的特性

rsync的特性:

1、  支持拷貝特殊文件,設備等

2、  可以有排除指定文件或者目錄同步的功能,相當於tar的排除功能

3、  可以做到保持源文件或目錄的權限、時間、軟硬連接、屬主、組等所有屬性均不改變-p

4、  可實現增量同步,既只能同步發生變化的數據,因此數據傳輸效率很高(tar -N)

5、  可以使用rcp,rsh,ssh等方式來配合傳輸文件(rsync本身不對數據加密)

6、  可以通過socket(進程方式)傳輸文件和數據(服務端和客戶端

7、  支持尼米ingde或認證(無需系統用戶)的進程模式傳輸,可實現方便安全的進行數據備份及鏡像

二、rsync的應用

web服務器到備份服務器之間—》定時備份站點數據及配置  cron+rsync

nfs服務端到備份服務器之間---》實時備份 sersync+rsync  \inotify+rsync  \lrsyncd+rsync

三、rsync的用法

rsync的參數:

-v  詳細模式輸出,傳輸的進度等信息

-z  傳輸的時候進行壓縮提高傳輸的效率

-a   歸檔模式,表示遞歸方式傳輸並且保持所有文件屬性,等於-rtopgDl

-e   -rsh = COMMAND使用的通道協議,指定替代rsh的shell程序

--bwlimit 限速

 

三、rsync的三種模式

1)local模式

rsync -avz /etc/hosts /tmp/     ===》cp

rsync -avz --delete /tmp1/ /mnt/   ===>rm

 

第二種工作模式、使用遠程的shell -e指定隧道

推  把文件推到服務器端   注意這里的ip是對面的ip

 rsync -avzP -e 'ssh -p 22' /tmp/ root@10.0.0.41:/tmp

 rsync -avzP -e 'ssh -p 22' root@10.0.0.41/tmp /opt   這里是把tmp目錄和tmp里面的內容都拉過來

 rsync -avzP -e 'ssh -p 22' root@10.0.0.41:/tmp/ /opt 這個是把tmp的子目錄里面的內容全部拉過來注意拉的ip是對面的ip

如果傳輸速度太慢。要在/etc/ssh/sshd_config 81行注釋掉、80行打開,122行打開

 

第三種以守護進程(socket)的方式傳輸數據

需要做以下准備

1、配置服務端rsync

1)服務端的錯誤日志cat /var/log/rsyncd.log

1)首先給備份服務器設置配置文件

vim /etc/rsyncd.conf

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.168.1.0/24
#hosts deny = 0.0.0.0/32#---》上面是允許網段,這個是不允許網段,所以配置文件二選一
auth users = rsync_backup
secrets file = /etc/rsync.password
[backup]
path = /backup

2)創建uid和gid    useradd rsync -s /sbin/nologin -M

3)創建模塊目錄並且授權

mkdir /backup

chown -r rsync /backup/

4)創建密碼文件,並且收縮權限

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

chmod 600 /etc/rsync.password

5、查看版本和端口

rsync —daemon

netstat -lntup|grep rsync

Ps -ef |grep rsync|grep -v grep

6、加入開機自啟動

chkconfig rsync on

echo “rsync --daemon”>>/etc/rc.local

tail -1 /etc/rc.local

2配置rsync客戶端

1、創建密碼文件

echo “pyrene” >/etc/rsync.password

chmod 600 /etc/rsync.password

2、創建備份目錄(用於打包文件)

mkdir /backup

3,daemon模式用法

第一種模式:

push:推   下面是把客戶端的tmp下內容推到服務端叫做rsync_backup這個auth users下的backup模塊里面

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

rsync -avz rsync_backup@192.168.241.132::backup /tmp/ —password-file=/etc/rsync.password

 

第二種模式:

Rsync -avz rsync://rsync_backup@192.168.241.132/backup/ /tmp --password-file=/etc/rsync.password

rsync -avz /tmp/ rsync://rsync_backup@192.168.241.132/backup/

--password-file=/etc/rsync.password

四、排除及無差異同步

排除單個文件:

rsync -avz —exclude=a /backup/ rsync_backup@172.168.16.1.41::backup —password-file=/etc/rsync.password

排除多個文件:

rsync -avz —exclude={a,b} /backup/ rsync_backup@172.168.16.1.41::backup —password-file=/etc/rsync.password

也可以把—exclude={a..g}或者—exclude-from=paichu.log

 

無差異同步:(謹慎使用)

--delete

rsync -avz —delete /backup/ rsync_backup@172.168.16.1.41::backup —password-file=/etc/rsync.password

上面就是把前面的目錄里面的東西和后面模塊里面的一樣

 

總結:rsync三種工作模式

1、  local:rsync(cp rm)

2、  通道模式:

Rsync -avzP -e ‘ssh -p 22’ /etc root@10.0.0.142:/tmp

一般配合ssh key面密鑰傳輸,結合定時任務

3、daemon模式:

內網不需要加密,加密性能有損失

如果需要跨機房需要rsync+vpn(pptp,openvpn,ipsec)

 

擴展:

1、關於限速和斷點續傳

斷點續傳:--partial

限速參數:--bwlimit

[root@nfs01 ~]# rsync -avz --bwlimit=1 /root/test1 rsync_backup@172.168.1.41::backup --password-file=/etc/rsync.password

上面就是設置限速,這里設置的是1k每秒

 


免責聲明!

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



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