使用rsync同步服務器和客戶端的文件夾

使用rsync同步服務器和客戶端的文件夾

    • 實現目的
    • 實驗準備
    • 實驗操作步驟
      • 服務器操作
        • 關閉防火墻和SELINUX
        • 安裝rsync
        • 修改服務器配置文件/etc/rsync.conf
        • 創建服務器備份文件的目錄
        • 創建rsync系統運行的用戶
        • 修改備份文件的所有者和所屬組
        • 創建rsync.passwd
        • 啟動rsync服務并進行驗證
      • 客戶端
      • 服務器驗證
    • 結尾

實現目的

利用rsync實現遠程服務器和電腦文件夾的同步

實驗準備

本次演示均使用兩臺虛擬機做準備

服務器192.168.218.136
客戶端192.168.218.132

實驗操作步驟

服務器操作

關閉防火墻和SELINUX

1??關閉防火墻

[root@sxs home]# systemctl stop firewalld
[root@sxs scripts]# systemctl disable firewalld
Removed "/etc/systemd/system/multi-user.target.wants/firewalld.service".
Removed "/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service".

2??關閉SELINUX

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0#立即生效
安裝rsync
#因為之前已經安裝過了,所以顯示這結果
[root@sxs scripts]# yum -y install rsync
CentOS Stream 9 - BaseOS                                                                              3.4 kB/s | 3.8 kB     00:01    
CentOS Stream 9 - BaseOS                                                                              5.6 MB/s | 8.0 MB     00:01    
CentOS Stream 9 - AppStream                                                                           3.5 kB/s | 4.2 kB     00:01    
CentOS Stream 9 - AppStream                                                                           2.8 MB/s |  19 MB     00:06    
CentOS Stream 9 - Extras packages                                                                     9.1 kB/s | 6.9 kB     00:00    
軟件包 rsync-3.2.3-19.el9.x86_64 已安裝。
依賴關系解決。
無需任何處理。
完畢!
修改服務器配置文件/etc/rsync.conf
#有好幾個都很重要,而且還涉及到權限的問題
[root@sxs scripts]# cat /etc/rsyncd.conf |grep -v "^#\|^$"
uid = rsync        #指定rsync進程以什么用戶身份在后臺運行,默認是nobody
gid = rsync        #
use chroot = no    #是否將用戶鎖定在家目錄下
max connections =100    #最大連接數
pid file = /var/run/rsyncd.pid    #指定pid文件保存在哪里
timeout = 900                     #訪問超時時間
lock file = /var/lock/rsync.lock  #指定lock文件保存在哪里
log file = /var/log/rsync.log     #指定log日志文件保存在哪里
[ test ]                              #模塊名稱,十分重要
path = /home/backup/                  #客戶端推送文件過來的時候,需要保存在哪里
read only = false                     #文件目錄只能下載,不能上傳
hosts allow = 192.168.218.0/24        #可以訪問的IP地址,這是表示只有192.168.218.0的網段可以訪問
auth users = vuserback                #指定訪問模塊需要使用的用戶名稱,這里的是虛擬用戶(不是存在于/etc/passwd)
secrets file = /home/rsync.passwd    #訪問模塊的用戶密碼保存在哪里,很重要,而且這rsync.passwd文件的權限只能是600
list = false                         #設置是否可以顯示全部的模塊列表
創建服務器備份文件的目錄
#這一步:對應/etc/rsync.passwd配置文件下的: path = /home/backup/ 
[root@sxs scripts]# mkdir -p /home/backup
創建rsync系統運行的用戶
 [root@sxs]# groupadd  rsync[root@sxs]# useradd -r -s /sbin/nologin -g rsync rsync
修改備份文件的所有者和所屬組
#這和上文的配置文件的uid和gid對應上,之前做實驗的時候,發現所有者和所屬組是root的時候,在客戶端推送文件的時候一直報錯,等我uid和gid修改成rsync的時候以及備份文件修改成rsync:rsync的時候才可以,這也是一個大坑。大家注意
[root@sxs home]# chown rsync:rsync /home/backup/
[root@sxs home]# ll
drwxr-xr-x 2 rsync rsync 21  228 18:46 backup
創建rsync.passwd
#這rsync.passwd的權限記得是600,十分重要的一個點
[root@sxs home]# touch rsync.passwd
[root@sxs home]# echo "vuserback:123" >rsync.passwd 
[root@sxs home]# chmod 600 rsync.passwd 
[root@sxs home]# cat rsync.passwd 
vuserback:123
[root@sxs home]# ll
總用量 4
drwxr-xr-x 2 rsync rsync 21  228 18:46 backup
-rw------- 1 root  root  14  32 00:40 rsync.passwd
啟動rsync服務并進行驗證
#rsync的端口是873,默認是873
[root@sxs home]# rsync --damon
[root@sxs home]# netstat -tnlp |grep rsync
tcp        0      0 0.0.0.0:873             0.0.0.0:*               LISTEN      48666/rsync         
tcp6       0      0 :::873                  :::*                    LISTEN      48666/rsync

客戶端

直接推送文件

#顯示下文的這樣子,就表示推送成功了[root@localhost /]# cd /scripts/
[root@localhost scripts]# ll
總用量 4
-rwxr--r-- 1 root root 24 228 18:46 test.sh
[root@localhost scripts]# rsync -avz /scripts/ vuserback@192.168.218.136::test
Password:                                   #對應客戶端的rsync.passwd文件的密碼
sending incremental file list
./
test.shsent 137 bytes  received 46 bytes  73.20 bytes/sec
total size is 24  speedup is 0.13
[root@localhost scripts]#

服務器驗證

在服務器可以看到對應的文件了


[root@sxs home]# ll
總用量 4
drwxr-xr-x 2 rsync rsync 21  228 18:46 backup
-rw------- 1 root  root  14  32 00:40 rsync.passwd
[root@sxs home]# ll ./backup/
總用量 4
-rwxr--r-- 1 rsync rsync 24  228 18:46 test.sh

結尾

可能有的寫的不是很好,歡迎大家指出來

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/716060.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/716060.shtml
英文地址,請注明出處:http://en.pswp.cn/news/716060.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

中間件安全(概述)有中間件的各類鏈接和官網信息和漏洞庫以及配置問題和開源工具

分類主要包括Apache、IIS、Tomcat、weblogic、websphere、Jboss等相關的技術知識和實踐。 以Apache為例講一講如何保證中間件安全 中間件安全是指保護中間件軟件和服務的安全性,防止被惡意攻擊或者濫用。中間件軟件是指在操作系統和應用程序之間提供通信和集成功能…

【Go】命令行相關

查看go的環境 go env # 查看go的環境變量 goRoot # 編譯器的環境 goPath設置go module 打開cmd命令行,執行以下命令 go env -w GO111MODULEoff # on-打開 off-關閉 auto-自動相關命令 go build # 項目路徑下執行,能編譯當前go項目(一個…

RFID(Radio Frequency Identification)技術筆記

一、RFID的介紹 RFID,全稱為Radio Frequency Identification,即射頻識別技術,也常被稱為電子標簽或無線射頻識別。它是一種非接觸式的自動識別技術,通過射頻信號自動識別目標對象并獲取相關數據,識別過程無需人工干預&…

[云原生] k8s之pod容器

一、pod的相關知識 1.1 Pod基礎概念 Pod是kubernetes中最小的資源管理組件,Pod也是最小化運行容器化應用的資源對象。一個Pod代表著集群中運行的一個進程。kubernetes中其他大多數組件都是圍繞著Pod來進行支撐和擴展Pod功能的,例如,用于管理…

如何確保JDK版本與操作系統架構匹配?

1. 序言 最近的工作中,需要升級JDK版本到17.0.7,以解決一個JDK bug:JDK-8299626該bug的core dump關鍵字如下:SIGSEGV in PhaseIdealLoop::build_loop_late_post_work公司JDK團隊提供的、包含JDK的基礎鏡像,有aarch64和…

Hololens2開發環境配置及項目生成部署

Hololens2開發環境配置及項目生成部署 Hololens2開發環境配置及項目生成部署一、官方文檔及推薦配置說明1.官方文檔介紹2.推薦配置及配置說明 二、安裝步驟0.現有Visual Stuido和Unity卸載1.Windows SDK安裝2.Visual Studio安裝3.Unity安裝4.MRTK配置 三、初次環境配置1.新建Un…

vmware的詭異網絡

坦白說,vmware的網絡我始終是沒有搞太懂。 我習慣使用的是“僅主機”和“NAT”。 “僅主機”我習慣配置靜態IP,互相訪問沒問題。 “NAT”則主要用于windows系統,簡單方便。windows虛擬機一般也沒啥特別的互相訪問需求,直接文件復制…

簡單了解GaussDB

大家都已經很熟悉openGauss了,昨天我的文章中說陜西電力的用采系統用Gaussdb替代了Oracle,就有朋友問我這個Gaussdb是不是就是openGauss。這個問題還真的有點不好回答,Gaussdb和openGauss淵源很近,但是還不是一碼事。華為在數據庫…

c++八股文:c++面向對象

文章目錄 1.c面向對象三大特性2.c的三個訪問修飾符3.多重繼承4.重載與重寫5.c多態怎么實現6.成員函數/成員變量/靜態成員函數/靜態成員變量的區別7.構造函數和析構函數8.c構造函數有幾種9.什么是虛函數什么是虛函數表10.虛函數和純虛函數的區別11.抽象類和純虛函數12.虛析構13.…

ABAP - SALV教程05 添加頁眉和頁腳

先看看效果叭CL_SALV_TABLE提供了SET_TOP_OF_LIST方法設置頁眉顯示和SET_TOP_OF_LIST_PRINT方法設置頁眉打印來實現添加頁眉的目的。CL_SALV_TABLE提供了SET_END_OF_LIST方法設置頁腳顯示和SET_END_OF_LIST_PRINT方法設置頁腳打印來實現添加頁腳的目的。這個四個方法的傳入參數…

Flutter異常上報及性能監控實現

1. 頁面異常監測 在Flutter中,通常用FlutterError監測Flutter框架拋出的異常,用runZonedGuarded監測應用中用戶代碼異常。 class AppGuarded {run(Widget app) {//1. 用FlutterError監測flutter框架拋出的異常FlutterError.onError (FlutterErrorDetail…

STM32F4 HAL庫串口死鎖問題調試記錄

文章目錄 STM32F4 HAL庫串口死鎖問題調試記錄調試方法結果分析解決方法一:方法二: STM32F4 HAL庫串口死鎖問題調試記錄 使用方法:通過串口DMA固定周期向外發送數據,同時開啟串口DMA接收用于接收其它板卡發來的數據。 問題&#x…

2024年,智慧文旅領航新時代,重塑旅行體驗的未來篇章!

隨著科技的飛速發展,智慧文旅正成為旅游行業的新寵,以其獨特的魅力和無限可能,引領著旅行體驗的全面升級。 2024年,智慧文旅火爆出圈,成為各界關注的焦點,為游客帶來了前所未有的震撼與享受。 智慧文旅&a…

290.【華為OD機試】連續出牌數量(深度優先搜索DFS—JavaPythonC++JS實現)

??點擊這里可直接跳轉到本專欄,可查閱頂置最新的華為OD機試寶典~ 本專欄所有題目均包含優質解題思路,高質量解題代碼(Java&Python&C++&JS分別實現),詳細代碼講解,助你深入學習,深度掌握! 文章目錄 一. 題目二.解題思路三.題解代碼Python題解代碼JAVA題解…

《猛獸派對》好玩嗎值得買嗎?蘋果電腦也能裝《猛獸派對》嗎?猛獸派對好友通行證 動物派對 猛獸對戰游戲

目錄 一、《猛獸派對》好玩嗎? 游戲玩法: 物理引擎: 關卡設計: 游戲特色: 評價: 榮譽: 二、蘋果電腦也能裝《猛獸派對》嗎? 第1步:下載并安裝CrossOver這款軟件…

C語言---文件操作(1)

1.文件的打開和關閉 fopen有2個參數,第一個是文件的名字,第二個是打開的模式(例如是讀文件還是寫文件) (1)該文件夾下面沒有data.txt文件,但是我執行了read操作,所以會顯示這樣的錯誤 (2&#…

『NLP學習筆記』圖解GPT3(How GPT3 Works-Visualizations and Animations)

圖解GPT3(How GPT3 Works-Visualizations and Animations) 文章目錄 一. GPT-1 vs GPT-2 vs GPT-3 vs GPT-3.5 vs GPT-4二. GPT32.1. 訓練動圖2.2. 預測動圖2.3. 代碼生成示例三. 參考文章原作者主頁:Jay Alammar原英文鏈接:How GPT3 Works - Visualizations and Animations …

ApplicationContext容器

ApplicationContext容器 1.概述 ApplicationContext接口代表了一個Spring容器,它主要負責實例化、配置和組裝bean。ApplicationContext接口間接繼承了BeanFactory接口,相較于BeanFactory一些基本的容器功能,ApplicationContext接口是在BeanFactory接口基礎上進行了擴展,增…

SQL 術語:Join 中的 Build 和 Probe 是什么意思?

博主歷時三年精心創作的《大數據平臺架構與原型實現:數據中臺建設實戰》一書現已由知名IT圖書品牌電子工業出版社博文視點出版發行,點擊《重磅推薦:建大數據平臺太難了!給我發個工程原型吧!》了解圖書詳情,…

如何在Vue中實現事件處理?

Vue是一種流行的JavaScript框架,廣泛應用于前端開發。在Vue中,事件處理是一個非常關鍵的概念,可以幫助我們實現用戶與頁面的交互,今天我們就來探討一下如何在Vue中實現事件處理。 首先,讓我們先了解一下在Vue中如何綁…