成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一文搞懂 rsync:原理剖析 + Rocky Linux 主機同步部署實戰

運維 系統運維
今天,我將介紹 rsync 的理論基礎,并手把手部署一次基于 兩臺 Rocky Linux 主機 的生產級同步方案。

今天分享一下rsync數據同步工具。

在日常運維中,數據同步 是一個極其常見的任務。無論是備份、部署、遷移、內容分發,rsync 幾乎是 Linux 下的首選工具。

今天,我將介紹rsync的理論基礎,并手把手部署一次基于 兩臺 Rocky Linux 主機 的生產級同步方案。

一、什么是 rsync?

rsync(remote sync) 是一個快速且功能強大的文件同步工具,支持本地與遠程同步,采用“增量同步算法”,僅同步變化部分,性能非常高效。它的核心優勢在于:

  • 增量同步:只傳輸變更部分,節省帶寬
  • 支持壓縮:可減少傳輸數據量
  • 支持多種協議:本地、SSH、rsync 守護進程等
  • 支持斷點續傳、權限保留、刪除同步等高級特性

可運行在兩種模式下:

  • 命令行模式(push/pull):使用 rsync 命令手動或定時執行同步。
  • 服務端守護模式(daemon):以守護進程方式運行,支持匿名或認證客戶端訪問共享模塊。

二、核心工作原理

  • 利用 “rsync算法” 比較源與目標文件內容,只傳輸差異數據塊。
  • 使用 SSH、RSH 或 rsync 協議 作為傳輸通道。

這種“塊級差異傳輸 + 校驗算法”機制,讓 rsync 同步比 cp/scp 更高效、穩定,尤其適用于大文件、慢網速、跨地部署等場景。

三、實驗部署

1. 環境準備

角色

主機名

IP 地址

系統版本

源服務器

webserver

10.0.0.110

Rocky Linux 9.4

目標服務器

backupserver

10.0.0.111

Rocky Linux 9.4

目標:將 /var/www/html/ 目錄內容,每小時自動同步到 /data/backup/web/。

2. 源服務器配置

(1) 準備數據

這里是實驗環境,生產環境就根據自己需要同步的目錄就可以

# 安裝httpd
yum install httpd

# 上傳一些文件到/var/www/html下

(2) 安裝 rsync

sudo dnf install rsync -y

(3) 創建 rsync 配置文件

vi /etc/rsyncd.conf

添加下面的內容:

# 指定rsync守護進程運行時的用戶身份(為了安全,一般設為nobody)
uid = nobody

# 指定rsync守護進程運行時的組身份
gid = nobody

# 是否啟用chroot(默認是yes),設置為no可避免對文件路徑限制,有利于備份大路徑結構
use chroot = no

# 最大并發連接數,超出連接將被拒絕,防止資源耗盡
max connections = 20

# rsync守護進程運行時的日志文件
log file = /var/log/rsyncd.log

# PID文件路徑,用于進程管理
pid file = /var/run/rsyncd.pid

# 守護進程監聽的端口,默認873,確保防火墻已放通
port = 873

# 認證用戶,僅這些用戶可以訪問該模塊(對應下面的secrets file)
auth users = rsyncuser

# 指定認證文件,格式為:用戶名:密碼,一行一個用戶
secrets file = /etc/rsync.password

# 是否啟用日志記錄同步的文件詳細信息
transfer logging = yes

# 設置為只讀,客戶端只能拉取數據
read only = false       

# 是否允許客戶端查看該模塊(可選
list = yes                

# 設置白名單,只允許設置的網段進行訪問
hosts allow = 10.0.0.0/24

# 設置黑名單,限制訪問
hosts deny = 0.0.0.0/32

# 在進行數據備份傳輸過程過程中,忽略一些I/O產生的傳輸錯誤
ignore errors

[webdata]   # 模塊名,客戶端使用 ::webdata 來訪問這個模塊
    path = /var/www/html      # 實際要共享的本地目錄
    comment = Web site sync   # 模塊說明,可選

# 可以添加多個模塊

【溫馨提示】建議在寫配置文件時將注釋去掉,可能會影響某些參數生效

(4) 創建認證文件

# 生產環境密碼復雜度設置高一點,我設置為123456
echo "rsyncuser:123456" > /etc/rsync.password
chmod 600 /etc/rsync.password

(5) 創建并啟用 systemd 服務文件

cat >> /etc/systemd/system/rsyncd.service << EOF
[Unit]
Description=Rsync Daemon
After=network.target

[Service]
ExecStart=/usr/bin/rsync --daemon --no-detach
ExecReload=/bin/kill -HUP $MAINPID
Restart=always

[Install]
WantedBy=multi-user.target
EOF

啟用并啟動服務:

systemctl daemon-reload
systemctl enable --now rsyncd

(6) 開啟防火墻端口

sudo firewall-cmd --add-port=873/tcp --permanent
sudo firewall-cmd --reload

# 或者直接關閉防火墻

3. 目標服務器配置

(1) 安裝 rsync

dnf install rsync -y

(2)  創建并啟用 systemd 服務文件

cat >> /etc/systemd/system/rsyncd.service << EOF
[Unit]
Descriptinotallow=Rsync Daemon
After=network.target

[Service]
ExecStart=/usr/bin/rsync --daemon --no-detach
ExecReload=/bin/kill -HUP $MAINPID
Restart=always

[Install]
WantedBy=multi-user.target
EOF

啟用并啟動服務:

systemctl daemon-reload
systemctl enable --now rsyncd

(3) 創建密碼文件

echo "123456" > /etc/rsync.password
chmod 600 /etc/rsync.password

(4) 手動執行同步測試

# 創建備份目錄
mkdir /backup/web -p

# 傳輸測試
rsync -avz --delete --password-file=/etc/rsync.password \
rsyncuser@10.0.0.110::webdata /backup/web

以上操作就可以實現文件同步功能了,下面將設置一個定時同步腳本,實現定時同步

4. 自動化定時同步

在backupserver上操作

(1) 創建同步腳本 /usr/local/bin/web_sync.sh

#!/bin/bash
rsync -az  --password-file=/etc/rsync.password \
rsyncuser@10.0.0.110::webdata /backup/web/ \
>> /var/log/rsync_sync.log 2>&1

賦予權限:

chmod +x /usr/local/bin/web_sync.sh

(2) 添加定時任務

crontab -e

添加:

# 每小時同步一次
0 * * * * /bin/sh /usr/local/bin/web_sync.sh

這樣就可以實現每小時同步一次了,如果你想實時同步怎么做了?

別急,下篇文章就將介紹inotify+rsync實現文件實時同步。

責任編輯:趙寧寧 來源: 運維李哥不背鍋
相關推薦

2023-12-15 15:55:24

Linux線程同步

2023-09-08 08:20:46

ThreadLoca多線程工具

2021-07-08 10:08:03

DvaJS前端Dva

2024-07-12 14:46:20

2021-01-13 05:21:59

參數

2020-09-03 06:35:44

Linux權限文件

2023-09-22 10:45:47

云原生云計算

2022-03-24 08:51:48

Redis互聯網NoSQL

2024-04-12 12:19:08

語言模型AI

2022-04-12 09:05:30

Linux時鐘

2022-03-28 19:19:45

Linux時間子系統

2021-04-27 19:21:48

HBase原理開源

2021-03-22 10:05:59

netstat命令Linux

2023-09-15 12:00:01

API應用程序接口

2019-04-03 09:27:01

MySQLInnoDB務ACID

2020-04-15 16:30:24

掃碼登錄微信前端

2023-09-02 21:27:09

2020-12-07 06:19:50

監控前端用戶

2021-02-28 20:53:37

Cookie存儲瀏覽器

2023-05-22 13:27:17

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品久久久久久久久久久久 | 国产精品自在线 | 91精品久久久久久久久 | 久久久久久国产精品免费免费 | 337p日本欧洲亚洲大胆精蜜臀 | 国产成人午夜电影网 | 久久av网站 | 99久久婷婷国产综合精品 | 国产成人99久久亚洲综合精品 | 亚洲三区在线观看 | 影音先锋男 | 三级在线免费观看 | 伊人国产精品 | 国产成人免费视频网站高清观看视频 | 一级黄色毛片子 | 欧美寡妇偷汉性猛交 | 国产成人精品一区二区三区四区 | www久久99 | 日屁网站 | 在线观看视频福利 | 国产精品一区二区在线观看 | 亚洲一区二区三区四区av | av网址在线 | 黄色在线观看国产 | 国际精品久久 | 中文字幕成人在线 | 国产精品1区2区3区 欧美 中文字幕 | 国产又色又爽又黄又免费 | 亚洲视频国产视频 | 国产精品久久久久久久久久久新郎 | 欧美一区二区在线观看 | 亚洲区在线 | 国产精品久久久久久久久动漫 | 成人一区二区三区在线观看 | 成人免费一区二区 | 国产视频久久久 | 亚洲成人免费 | 一级毛片视频 | 成人精品在线观看 | 黄色大片在线免费观看 | 亚洲精品日韩综合观看成人91 |