日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > centos >内容正文

centos

Centos RSYNC服务搭建

發布時間:2024/9/30 centos 155 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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命令進行操作

[root@lemon var]# mkdir /a [root@lemon var]# setfacl -m u:manager:rwx /a [root@lemon var]# useradd shy [root@lemon var]# setfacl -m u:shy:r-x /a #i刪除權限 [root@lemon var]setfacl -x u:shy:r-x /a [root@lemon var]setfacl -b /a

數據的上傳

在客戶端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


端口已經開啟了,下面就在服務器端創建測試文本

[root@lemon etc]# mkdir /var/rsync [root@lemon etc]# cd /var/rsync/ [root@lemon rsync]# touch rsync.txt

客戶端

先創建一個存放文件的目錄 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-keygen -t rsa ssh-copy-id 192.168.186.135


注意:如果提示沒有ssh-copy-id這個命令,是因為最小化安裝的緣故有的軟件包沒有安裝上去

執行下面,去掉最小化安裝的問題. yum -y install openssh-clients

測試一下,客戶機登陸一下:

測試成功

下面就來安裝軟件包,兩臺機器首先都需要安裝gcc

yum -y install gcc*

安裝好之后,兩臺機器連接一下軟件包鏡像,在軟件包鏡像掛載客戶端的時候遇到了一個問題,因為我客戶端選擇的是無桌面的,連接鏡像后什么也沒有。

解決方法:

mount -o ro /dev/cdrom /media/ 再次查看


鏡像掛載好之后,服務器和客戶機都要進行安裝

cd /media/20130806_063316/ cp * /usr/src 先安裝ocaml這個函數庫(都要裝) [root@lemon src]# tar -zxf ocaml-3.10.1.tar.gz [root@lemon src]# cd ocaml-3.10.1 [root@lemon ocaml-3.10.1]# ./configure [root@lemon ocaml-3.10.1]# make world opt [root@lemon ocaml-3.10.1]# make install 再安裝unison(都要裝) [root@lemon src]# tar -zxf unison-2.13.16.tar.gz [root@lemon unison-2.13.16]# make UISTYLE=text THREADS=true STATIC=true


這個錯誤不用管,是正常的

再將該命令添加到環境變量中去 [root@lemon unison-2.13.16]# cp unison /usr/local/bin/ 接下來再安裝inotify軟件(都要裝) [root@lemon src]# tar -zxf inotify-tools-3.14.tar.gz [root@lemon src]# cd inotify-tools-3.14 [root@lemon inotify-tools-3.14]# ./configure [root@lemon inotify-tools-3.14]# make [root@lemon inotify-tools-3.14]# make install

安裝好之后進行測試

服務器端

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腳本自動實現傳輸

#!/bin/bash ip2="192.168.186.136" src2="/server1" dst2="/server2" /usr/local/bin/inotifywait -mrq -e create,delete $src2 | while read line; do/usr/local/bin/unison -batch $src2 ssh://$ip2/$dst2 echo -n "$line" >> /var/log/inotify.log echo `date | cut -d " " -f1-4` >> /var/log/inotify.log done

保存為1.sh

執行腳本 bash 1.sh

然后在客戶機端遠程連接服務器端

并在server1目錄下創建一個文件,觀察服務器端

實現了自動傳輸

除了這種還有其他方法,能夠實現文件傳輸

服務器端進行的操作:
需要安裝兩個軟件包

[root@lemon server1]# yum -y install rpcbind [root@lemon server1]# yum -y install nfs-utils [root@lemon server1]# vim /etc/exports

在這個文件中寫入我們想要文件共享的列表

/public 192.168.186.0/24(rw,sync) /share 192.168.186.136(ro,sync)

比如建立這兩個目錄,public目錄是186網段的都擁有讀寫權限,而share 目錄只192.168.186.136
可以讀

[root@lemon /]# mkdir /public [root@lemon /]# mkdir /share [root@lemon /]# chmod 777 /public/ [root@lemon /]# chmod 777 /share/ [root@lemon /]# cd /public/ [root@lemon public]# touch public.txt [root@lemon public]# cd .. [root@lemon /]# cd /share/ [root@lemon share]# touch share.txt 重啟下服務 [root@lemon share]# service rpcbind restart [root@lemon share]# service nfs restart

showmount -e可以查看到本機共享的文件

出現錯誤是因為NFS服務器的hosts文件中的域名和NFS服務器的IP地址不對應造成的。
解決方法如下:
https://yq.aliyun.com/articles/43115

客戶端進行的操作
先安裝下這兩個軟件包

[root@lemon server1]# yum -y install rpcbind [root@lemon server1]# yum -y install nfs-utils

在客戶端使用命令查看,能發現服務器端共享出來的資源

將服務器端的/public目錄掛載到客戶端的/mnt目錄,如果權限不允許的話先重啟服務試試看

掛載/public目錄成功,可以進行讀寫,下面來掛載一下/share目錄,先卸載當前掛載的

umount /mnt/

然后將/share目錄掛載到/mnt/目錄,使用mount命令查看擁rw權限

到此實驗就全部驗證完成了!

總結

以上是生活随笔為你收集整理的Centos RSYNC服务搭建的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。