您好,登錄后才能下訂單哦!
本篇內容主要講解“Linux rsync怎么配置用于服務器之間傳輸大量的數據”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Linux rsync怎么配置用于服務器之間傳輸大量的數據”吧!
【1】 rsync介紹
Rsync(Remote Synchronize) 是一個遠程資料同步工具,可通過LAN/WAN快速同步多臺主機,Rsync使用所為的“Rsync演算法”來使本地主機和遠程主機之間達到同步,這個演算法并不是每次都整份傳送,它只傳送兩臺計算機之間所備份的資料不同的部分,因此速度相當快。
Rsync的優點如下:
1、可以鏡像保存整個目錄樹和文件系統。
2、可以很容易的做到保持原來文件的許可權、時間、軟鏈接等。
3、無須特使許可權即可安裝。
4、擁有優化的流程,文件傳輸效率高。
5、可以使用Rsh、SSH等方式來傳輸文件,當然也可以直接通過Socket連接。
6、支持匿名傳輸。
另外,與SCP相比,傳輸速度不是一個層次級的。我們在局域網時經常用Rsync和SCP傳輸大量Mysql數據,發現Rsync至少比Scp快20倍以上,所以大家如果需要在Linux/Unix服務器之間互傳海量資料,Rsync是非常好的選擇。
【2】 rsync服務端方式
首先檢查rsync是否安裝:
rpm –q rsync
rsync-2.6.8-3.1
說明rsync已安裝,如果提示出現 package rsync is not installed 則說明這個軟件報沒有安裝大家可以使用yum進行安裝
另外,關閉防火墻和SElinux,因為是內網中傳輸,所以這些沒必要
service iptables stop && chkconfig iptables off
setenforce 0
配置文件/etc/rsyncd.conf。這個文件是自己定義的,并不是系統創建的,當然你也可以叫不同的名字,后面再寫上詳細注釋。
uid = nobody
gid = nobody
user chroot = no
max connections = 200
timeout = 600
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/log/rsyncd.log
[backup]
path=/backup/
ignore errors
read only = no
list = no
hosts allow = 192.168.0.0/255.255.255.0
auth users = test
secrets file = /etc/rsyncd.password
注釋:
uid = nobody
進行備份的用戶,nobody 為任何用戶
gid = nobody
進行備份的組,nobody為任意組
use chroot = no
如果"use chroot"指定為true,那么rsync在傳輸文件以前首先chroot到path參數所指定的目錄下。這樣做的原因是實現額外的安全防護,但是缺點是需要以root權限,并且不能備份指向外部的符號連接所指向的目錄文件。默認情況下chroot值為true.但是這個一般不需要,我選擇no或false
list = no
不允許列清單
max connections = 200
最大連接數
timeout = 600
覆蓋客戶指定的IP超時時間,也就是說rsync服務器不會永遠等待一個崩潰的客戶端。
pidfile = /var/run/rsyncd.pid
pid文件的存放位置
lock file = /var/run/rsync.lock
鎖文件的存放位置
log file = /var/log/rsyncd.log
日志文件的存放位置
[backup]
這里是認證模塊名,即跟samba語法一樣,是對外公布的名字
path = /backup/
這里是參與同步的目錄
ignore errors
可以忽略一些無關的IO錯誤
read only = no
允許可讀可寫
list = no
不允許列清單
hosts allow = 192.168.1.0/255.255.255.0
這里跟samba的語法是一樣的,只允許192.168.21.0/24的網段進行同步,拒絕其它一切
auth users = test
認證的用戶名
secrets file = /etc/rsyncd.password
密碼文件存放地址
注意:
1、[backup] 認證模塊名和 path = /backup/ 參與同步的目錄
這里的path 大家要記好了,這里不要隨便的一設置就直接完事,要知道這里是認證模塊的,以后從客戶機備份的數據會存儲在這里。
2、auth users = redhat 認證的用戶名
這個名字是服務器端實實在在存在用戶,大家不要直接跟步驟走卻忽略了這點。如果服務器端少了這個的話我估計你的數據同步就實現不了,大家要謹記。
3、path = /backup/ 參與同步的目錄
這個需要稍后自己要在根目錄下自己建
cd /
mkdir backup
chmod –R 777 /backup
echo “test:test” > /etc/rsync.password
(這里我設置的是用戶名和密碼一致)
為了安全起見,我設置他的權限為600
chmod 600 /etc/rsync.password
啟動配置
[root@test rsync-3.0.4]# vim /etc/xinetd.d/rsync
配置rsync servervi /etc/xinetd.d/rsync
將disable=yes改為no
service rsync
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
[root@test home]# /etc/init.d/xinetd restart
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]
如果xinetd沒有的話,需要安裝一下
[root@test home]# yum -y install xinetd
RSYNC服務端啟動的兩種方法:
啟動rsync服務端(獨立啟動)
[root@test home]# /usr/bin/rsync --daemon on
啟動rsync服務端 (有xinetd超級進程啟動)
[root@test home]# /etc/init.d/xinetd reload
配置rsync自動啟動
[root@test etc]# chkconfig rsync on
[root@test etc]# chkconfig rsync --list
rsync
加入rc.local
在各種操作系統中,rc文件存放位置不盡相同,可以修改使系統啟動時把rsync --daemon加載進去。
[root@test home]# vi /etc/rc.local
/usr/local/rsync –daemon #加入一行
客戶端配置:
echo “test” > /etc/rsyncd.password
這里僅僅只需要密碼,不需要用戶了,免得要同步時還要手動互動
chmod 600 /etc/rsync.password
測試:下面delete表示刪除目標存在而源目錄不存在的文件的命令
rsync -vzrtop --delete /home/ce test@192.168.0.206::backup --password-file=/etc/rsyncd.password
從服務器上下載文件a:打包,v:詳細信息,z壓縮
rsync -avz --password-file=/etc/rsyncd.password test@192.168.0.206::backup /home/
從本地上傳到服務器上去
rsync -avz --password-file=/etc/rsyncd.password /home test@192.168.0.206::backup
【3】rsync客戶端方式
常用:rsync -av
下載:rsync [參數] 遠程文件(遠程路徑) 本地目錄
上傳:rsync [參數] 本地文件 遠程目錄
rsync常用參數
如果不需要交互式的操作,rsync平時也可以像scp那樣工作,下列為常用rsync參數。
例子: rsync -av test@192.168.1.122:/home/test/3.txt .
表示將服務192.168.1.122的/home/test/3.txt文件復制到本客戶度的當前目錄其中“.”表示當前目錄
-a, --archive 歸檔模式,表示以遞歸方式傳輸文件,并保持所有文件屬性,等于-rlptgoD
-v --verbose:詳細模式輸出
-r --recursive:對子目錄以返回模式處理。
-p --perms:保持文件許可權
-o --owner:保持文件屬主信息
-g --group:保持文件組信息
-t --times:保持文件時間信息
--delete:刪除哪些DST中存在而SRC中不存在的文件或目錄
--delete-excluded:同樣刪除接收端哪些該選項制定排出的文件
-z --compress:對備份的文件在傳輸時進行壓縮處理
--exclude=PATTERN:制定排除不需要傳輸的文件
--include=PATTERN:制定不排除需要傳輸的文件
--exclude-from=FILE:排除FILE中制定模式的文件
--include-from=FILE:不排除FILE中制定模式匹配的文件
到此,相信大家對“Linux rsync怎么配置用于服務器之間傳輸大量的數據”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。