Centos RSYNC服务搭建
前言:
總結下RSYNC服務搭建
介紹:
Rsync(remote synchronize)是一個遠程數據同步工具,可通過LAN/WAN快速同步多臺主機間的文件。
特點:
- 能更新整個目錄和樹和文件系統
- 有選擇性的保持符號連接、硬鏈接、文件屬于、權限、設備以及時間等
- 能用rsh、ssh或直接端口做為傳輸入端口
- 支持匿名rsync同步文件
rsync同步源:
指備份操作的遠程服務器,也稱為備份源,主要包括兩種:rsync源、SSH源
命令格式:
本地同步rsync 本地目錄1 本地目錄2 rsync+ssh同步rsync SSH源 本地目錄rsync 本地目錄 SSH源 rsync+rsync同步rsync rsync源 本地目錄rsync 本地目錄 rsync源rsync命令的用法:
基本格式:rsync [選項] 原始位置 目標位置
-a 歸檔模式,表示以遞歸方式傳輸文件,并保持所有屬性,等同于-rlptgoD-r 對子目錄以遞歸模式處理,主要是針對目錄來說的,如果單獨傳一個文件不需要加-r,但是傳輸的是目錄必須加-r選項;-t 保持文件的時間屬性;-p 保持文件的權限屬性;-l 保留軟鏈接;-L 同步軟鏈接的同時同步其源文件;-g 保存文件數組;-o 保持文件的屬主;-D 保存設備文件信息;-v =visual,可視化;-P 顯示同步過程,比v更詳細;-u =update,加上該選項,如果DEST中文件比SRC中的新,則不同步;-z =zip,傳輸時壓縮;–delete 刪除DEST中SRC沒有的文件;–exclude 過濾指定文件,不同步;–progress 在同步的過程中可以看到同步的過程狀態,比如統計要同步的文件數量、同步的文件傳輸速度等等;-e 指定端口;進行實驗
需要兩臺服務器
服務器端 192.168.186.135 客戶機端 192.168.186.132通過SSH進行同步
服務器端 [root@lemon /]mkdir /var/ssh [root@lemon ssh]# touch ssh.txt(進行測試的文本) #i建立兩個用戶,一個上傳一個下載 [root@lemon ssh]# useradd a1 [root@lemon ssh]# passwd a1 [root@lemon ssh]# useradd a2 [root@lemon ssh]# passwd a2 #a1用戶上傳,更改一下屬主權限 [root@lemon var]# chown a1:a1 /var/ssh/ #a2用戶進行下載 客戶機端(發起端) mkdir /ssh #發起端要先安裝下rsync,使用命令: rsync -avz a2@192.168.186.135:/var/ssh/* /ssh/
文件被傳輸過來了
但有時文件目錄的屬主權限是不能隨意更改的,比如服務器端搭建了一個網站,如果將屬組改成其他可能導致訪問不了,可以使用setfacl命令進行操作
數據的上傳
在客戶端ssh目錄下新建一個test.txt
同步到服務器端
同步完成
通過RSYNC進行同步
服務器端
沒有主配值文件,需要自己手動寫
[root@lemon etc]# vim /etc/rsyncd.conf use chroot = yes address = 192.168.186.135 port 873 log file = /var/log/rsyncd.log pid file = /var/run/rsyncd.pid [share]comment = shypath = /var/rsyncread only = yesdont compress = *.gz *.bz2auth users = shysecrets file = /etc/rsyncd_users.db寫一個密碼存放的文件
[root@lemon etc]# vim /etc/rsyncd_users.db [root@lemon etc]# rsync --daemon [root@lemon etc]# netstat -anpt
端口已經開啟了,下面就在服務器端創建測試文本
客戶端
先創建一個存放文件的目錄 mkdir /rsync 進行連接 rsync -avz shy@192.168.186.135::share /rsync如果訪問失敗的話更改一下服務器端密碼文件的權限
#服務器端 [root@lemon rsync]# cd /etc [root@lemon etc]# chmod 600 rsyncd_users.db
同步完成
0x03:完成實時自動同步
需要兩臺服務器
服務器端 192.168.186.135 客戶機端 192.168.186.136雙向同步服務器不需要認證,方便后面的實驗
這里使用的是root用戶
服務器端:
[root@lemon 桌面]# ssh-keygen -t rsa [root@lemon 桌面]# ssh-copy-id 192.168.186.136同步到客戶端中
同步成功
客戶機端:
注意:如果提示沒有ssh-copy-id這個命令,是因為最小化安裝的緣故有的軟件包沒有安裝上去
測試一下,客戶機登陸一下:
測試成功
下面就來安裝軟件包,兩臺機器首先都需要安裝gcc
yum -y install gcc*安裝好之后,兩臺機器連接一下軟件包鏡像,在軟件包鏡像掛載客戶端的時候遇到了一個問題,因為我客戶端選擇的是無桌面的,連接鏡像后什么也沒有。
解決方法:
鏡像掛載好之后,服務器和客戶機都要進行安裝
這個錯誤不用管,是正常的
安裝好之后進行測試
服務器端
mkdir /server1 [root@lemon server1]# touch server1.txt客戶端
mkdir /server2 touch server2.txt服務器端進行同步
[root@lemon inotify-tools-3.14]# unison -batch /server1/ ssh://192.168.186.136//server2
同步成功
但通過命令比較麻煩,可以寫shell腳本自動實現傳輸
保存為1.sh
執行腳本 bash 1.sh然后在客戶機端遠程連接服務器端
并在server1目錄下創建一個文件,觀察服務器端
實現了自動傳輸
除了這種還有其他方法,能夠實現文件傳輸
服務器端進行的操作:
需要安裝兩個軟件包
在這個文件中寫入我們想要文件共享的列表
/public 192.168.186.0/24(rw,sync) /share 192.168.186.136(ro,sync)比如建立這兩個目錄,public目錄是186網段的都擁有讀寫權限,而share 目錄只192.168.186.136
可以讀
showmount -e可以查看到本機共享的文件
出現錯誤是因為NFS服務器的hosts文件中的域名和NFS服務器的IP地址不對應造成的。
解決方法如下:
https://yq.aliyun.com/articles/43115
客戶端進行的操作
先安裝下這兩個軟件包
在客戶端使用命令查看,能發現服務器端共享出來的資源
將服務器端的/public目錄掛載到客戶端的/mnt目錄,如果權限不允許的話先重啟服務試試看
掛載/public目錄成功,可以進行讀寫,下面來掛載一下/share目錄,先卸載當前掛載的
然后將/share目錄掛載到/mnt/目錄,使用mount命令查看擁rw權限
到此實驗就全部驗證完成了!
總結
以上是生活随笔為你收集整理的Centos RSYNC服务搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Centos Apache服务搭建
- 下一篇: 【MRCTF—Web】做题+复现记录