1. 程式人生 > >CentOS 7 上部署rsync遠程同步

CentOS 7 上部署rsync遠程同步

應用 path -o process sts 數據文件 ges pat 防火墻

配置rsync源服務器

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

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

同步源端IP:192.168.10.161
發起端IP:192.168.10.157
1、配置rsync同步源,一般CentOS 7已安裝好rsync,若沒有,則使用yum進行安裝
yum install -y rsync

vim /etc/rsyncd.conf

 uid = nobody
 gid = nobody
 use chroot = yes  //禁錮在源目錄
 address = 192.168.10.161    //監聽地址
 port 873       //監聽端口
 log file = /var/log/rsyncd.log   //日誌文件位置
 pid file = /var/run/rsyncd.pid     //存檔進程ID的文件位置
 hosts allow = 192.168.10.0/24       //允許訪問的客戶機地址

 [wwwroot]                //共享模塊名稱
 path = /var/www/html         //源目錄的實際路徑
 comment = www.kgc.cn          
 read only = yes           //是否為只讀
 dont compress   = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2          //同步時不再壓縮的文件類型
 auth users = backuper          //授權賬戶
 secrets file = /etc/rsyncd_users.db         //存放賬戶信息的數據文件

技術分享圖片

2、創建備份賬戶數據文件
vim /etc/rsyncd_users.db

backuper:abc123       //備份用戶名稱backuper:密碼abc123

chmod 600 /etc/rsyncd_users.db   //改權限,只有宿主可以看
3、安裝httpd,才有源目錄
yum install httpd -y
ls -ld /var/www/html/         //備份用戶backuper需要對源目錄/var/www/html/有相應的讀取權限
4、啟動rsync服務程序,運行參數為 --daemon
rsync --daemon    //啟動服務
netstat -antp | grep rsync   //查看873端口,確保開啟

systemctl stop firewalld.service
setenforce 0         //關閉防火墻與安全功能

技術分享圖片

5、測試

同步源上在源目錄下創建測試文件

cd /var/www/html
echo "this is test" > test.txt

技術分享圖片
發起端訪問同步源,將文件下載到本地/opt目錄下

rsync -avz [email protected]::wwwroot /opt/   //回車輸入密碼abc123

cd /opt  可看到test.txt文件

技術分享圖片
免輸入密碼的交互

vim /etc/server.pass      //將密碼寫到此文件中
chmod 600 /etc/server.pass          //修改權限只有宿主可查看

rsync -az --delete --password-file=/etc/server.pass [email protected]::wwwroot /opt

rsync命令的基本用法

絕大多數的備份程序要求指定原始位置和目標位置,rsync命令也一樣。 最簡單的rsync用法類似於cp命令。

命令格式及常用備份選項

備份的基本格式為“rsync [選項] 原始位置 目標位置”,其中常用的一些命令選項如下所示,應根據實際需求做出選擇(如-avZ) 。

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

CentOS 7 上部署rsync遠程同步