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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

rsync 远程同步——安全高效的异地备份策略

發布時間:2024/9/3 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 rsync 远程同步——安全高效的异地备份策略 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 前言
  • 一、rsync介紹
  • 二、rsync源服務器
  • 三、配置rsync源服務器
  • 3.1 配置rsync源服務器的具體操作步驟(實操)
    • 1 . 建立/etc/rsyncd.conf 配置文件
      • ① 檢查rsync程序是否安裝,一般為默認安裝。
      • ② 關閉防火墻和SElinux
      • ③ 建立rsync配置文件
    • 2 . 為備份賬戶創建數據文件
      • ① 創建數據文件
      • ② 修改權限
      • ③ 安裝httpd服務
      • ④ 站點目錄中創建index.html文件,賦予可讀權限
    • 3 . 啟動 rsync 服務程序
  • 四、使用rsync備份工具
    • 4.1 rsync 命令的基本用法
      • (1)命令格式及常用備份選項 從以上操作可以看出,備份的基本格式為“rsync [選項] 原始位置 目標位置”,其中常用 的一些命令選項如下所示,具體應根據實際需求選擇(如-avz)。
      • (2)配置源的表示方法 在執行遠程同步任務時,rsync 命令需要指定同步源服務器中的資源位置。
        • 環境準備工作:
          • 1)將指定的資源下載到本地/opt 目錄下進行備份。
          • 2)查看同步獲取的文件
          • 3)免交互格式配置
          • 4)免交互測試同步
          • 5)加入到計劃性任務中
  • 五、inotify+rsync 實時同步
  • 六、配置inotify+rsync 實時同步
    • 6.2 配置inotify+rsync 實時同步的具體操作步驟(實操)
      • 1.修改rsync源服務器(192.168.80.10)配置
        • ① 修改配置文件vim /etc/rsyncd.conf
        • ② 重新啟動rsync服務
        • ③ 賦予權限
      • 2.調整 inotify 內核參數(在客戶端配置:192.168.80.20)
        • ① 導入inotify安裝包并解壓
        • ② 調大inotify內核參數,根據生產需求
      • 3.安裝 inotify-tools(在客戶端配置:192.168.80.20)
        • ① 編譯安裝inotify
        • ② 創建用于同步的目錄
      • 4.在客戶端(192.168.80.20)編寫觸發式同步腳本
        • ① 創建自動監控同步腳本并賦予權限
      • 5、驗證實驗,客戶端開啟監控
        • ① 手動執行腳本,然后再重新開一個終端
        • ② 在客戶端(192.168.80.10)/var/www/html/ 目錄下創建文件test.txt
        • ③ 在源服務器進程查看是否完成實時同步
        • ④ 賦予權限和刪除文件測試
  • 七、使用rsync來實現快速刪除大量文件。

前言

正確、有效的備份方案是保障系統及數據安全的重要手段。
在服務器中,通常會結合計劃任務、Shell 腳本來執行本地備份。為了進一步提高備份的可靠性,使用異地備份也是非 常有必要的。

本篇博客主要介紹:rsync 工具的使用,以實現快速、安全、高效的異地備份。如針對 Web 站點的同步備份。

一、rsync介紹

rsync(Remote Sync,遠程同步)是一個開源的快速備份工具,可以在不同主機之間鏡像同步整個目錄樹,支持增量備份,并保持鏈接和權限,且采用優化的同步算法,傳輸前執行壓縮,因此非常適用于異地備份、鏡像服務器等應用。

rsync 的官方站點的網址是 http://rsync.samba.org/,目前最新版本是 3.1.3,由 Wayne Davison 進行維護。作為一種最常用的文件備份工具,rsync 往往是 Linux 和 UNIX 系統默 認安裝的基本組件之一。

二、rsync源服務器

在遠程同步任務中,負責發起 rsync 同步操作的客戶機稱為發起端,而負責響應來自客 戶機的 rsync 同步操作的服務器稱為同步源。
在同步過程中,同步源負責提供文件的原始位置,發起端應對該位置具有讀取權限,如圖下圖所示。

三、配置rsync源服務器

3.1 配置rsync源服務器的具體操作步驟(實操)

1 . 建立/etc/rsyncd.conf 配置文件

① 檢查rsync程序是否安裝,一般為默認安裝。

② 關閉防火墻和SElinux

③ 建立rsync配置文件

2 . 為備份賬戶創建數據文件

① 創建數據文件

② 修改權限

③ 安裝httpd服務

④ 站點目錄中創建index.html文件,賦予可讀權限

3 . 啟動 rsync 服務程序

四、使用rsync備份工具

4.1 rsync 命令的基本用法

絕大多數的備份程序要求指定原始位置、目標位置,rsync 命令也一樣。最簡單的 rsync 用法類似于 cp 命令。
例如,可以將文件/etc/fstab、目錄/boot/grub 同步備份到/opt 目錄下,其中“-r”選項表示遞歸整個目錄樹,“-l”選項用來備份鏈接文件。

[root@localhost ~]# rsync /etc/fstab /opt
[root@localhost ~]# rsync -rl /etc/fstab /boot/grub /opt

(1)命令格式及常用備份選項 從以上操作可以看出,備份的基本格式為“rsync [選項] 原始位置 目標位置”,其中常用 的一些命令選項如下所示,具體應根據實際需求選擇(如-avz)。

-r:遞歸模式,包含目錄及子目錄中的所有文件。
-l:對于符號鏈接文件仍然復制為符號鏈接文件。
-v:顯示同步過程的詳細(verbose)信息。
-a:歸檔模式,保留文件的權限、屬性等信息,等同于組合選項“-rlptgoD”。
-z:在傳輸文件時進行壓縮(compress)。
-t:保留文件的時間標記。
-g:保留文件的屬組標記(僅超級用戶使用)。
-o:保留文件的屬主標記(僅超級用戶使用)。
-H:保留硬連接文件。
-A:保留 ACL 屬性信息。
-D:保留設備文件及其他特殊文件。
–delete:刪除目標位置有而原始位置沒有的文件。
–checksum:根據校驗和(而不是文件大小、修改時間)來決定是否跳過文件。

(2)配置源的表示方法 在執行遠程同步任務時,rsync 命令需要指定同步源服務器中的資源位置。

rsync 同步 源的資源表示方式為“用戶名@主機地址::共享模塊名”或者“rsync://用戶名@主機地址/共享 模塊名”,前者為兩個冒號分隔形式,后者為 URL 地址形式。

例如,執行以下操作即可訪問 rsync 同步源,將指定的資源下載到本地/root 目錄下進行備份。

[root@localhost ~]# rsync -avz backuper@192.168.80.10::wwwroot /root

或者

[root@localhost ~]# rsync -avz rsync://backuper@192.168.80.10/wwwroot /root

環境準備工作:

服務器類型 系統和IP地址 需要安裝的組件 其他
rsync源服務器 CentOS7.4(64 位) 192.168.80.10 rsync(默認)、httpd ——
rsync客戶機(發起端) CentOS7.4(64 位) 192.168.80.20 rsync(默認) 配置免交互

1)將指定的資源下載到本地/opt 目錄下進行備份。

格式一:
rsync -avz backuper@192.168.80.10::wwwroot /opt/ #密碼abc123

格式二:
rsync -avz rsync://backuper@192.168.80.10/wwwroot /opt/

2)查看同步獲取的文件

cat /opt/index.html
this is www.clj.com

3)免交互格式配置

cd /opt
rm -rf gcc.txt

echo “abc123” > /etc/server.pass
chmod 600 /etc/server.pass

4)免交互測試同步

# 免交互同步
/usr/bin/rsync -avz --delete --password-file=/etc/server.pass backuper@192.168.80.10::wwwroot /opt/

ls /opt/ #查看是否同步成功

cat /opt/index.html #查看文件內容是否同步成功

5)加入到計劃性任務中

crontab -e
30 22 * * * /usr/bin/rsync -avz --delete --password-file=/etc/server.pass backuper@192.168.80.10::wwwroot /opt/

systemctl restart crond
systemctl enable crond

五、inotify+rsync 實時同步

Linux 內核從 2.6.13 版本開始提供了 inotify 通知接口,用來監控文件系統的各種變化情況,如文件存取、刪除、移動、修改等。利用這一機制,可以非常方便地實現文件異動告警、 增量備份,并針對目錄或文件的變化及時作出響應。

將 inotify 機制與 rsync 工具相結合,可以實現觸發式備份(實時同步)——只要原始位 置的文檔發生變化,則立即啟動增量備份操作;否則處于靜默等待狀態,如下圖所示。這樣,就避免了按固定周期備份時存在的延遲性、周期過密等問題。

正因為 inotify 通知機制由 Linux 內核提供,因此主要做本機監控,在觸發式備份中應用時更適合上行同步.

六、配置inotify+rsync 實時同步

6.2 配置inotify+rsync 實時同步的具體操作步驟(實操)

1.修改rsync源服務器(192.168.80.10)配置

① 修改配置文件vim /etc/rsyncd.conf

② 重新啟動rsync服務

③ 賦予權限

2.調整 inotify 內核參數(在客戶端配置:192.168.80.20)

① 導入inotify安裝包并解壓

② 調大inotify內核參數,根據生產需求


3.安裝 inotify-tools(在客戶端配置:192.168.80.20)

① 編譯安裝inotify

② 創建用于同步的目錄

4.在客戶端(192.168.80.20)編寫觸發式同步腳本

① 創建自動監控同步腳本并賦予權限

5、驗證實驗,客戶端開啟監控

① 手動執行腳本,然后再重新開一個終端

② 在客戶端(192.168.80.10)/var/www/html/ 目錄下創建文件test.txt

③ 在源服務器進程查看是否完成實時同步

④ 賦予權限和刪除文件測試

七、使用rsync來實現快速刪除大量文件。

假如要在Linux下刪除大量文件,比如100萬、1000萬,像/usr/local/nginx/proxy_ temp的nginx緩存等,那么rm -rf *可能就不好使了,因為要等待很長一段時間。在這種情況下我們可以使用rsync來巧妙處理。rsync實際用 的是替換原理。

先建立一個空的文件夾:
mkdir /home/blank

用rsync刪除目標目錄:

rsync --delete-before -a -H -v --progress --stats /tmp/linuxany /usr/local/nginx/proxy_temp
這樣目標目錄很快就被清空了

選項說明:
–delete-before :接收者在傳輸進行刪除操作
-a :歸檔模式,表示以遞歸方式傳輸文件,并保持所有文件屬性
-H :保持硬連接的文件
-v :詳細輸出模式
–progress :在傳輸時顯示傳輸過程
–stats :給出某些文件的傳輸狀態

總結

以上是生活随笔為你收集整理的rsync 远程同步——安全高效的异地备份策略的全部內容,希望文章能夠幫你解決所遇到的問題。

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