欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux下rsync(本地、遠程)文件同步方式

 更新時間:2024年01月09日 09:30:40   作者:羅德斯  
這篇文章主要介紹了Linux下rsync(本地、遠程)文件同步方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

rsync介紹

sync同步:

刷新文件系統(tǒng)緩存,強制將修改過的數(shù)據(jù)塊寫入磁盤,并且更新超級快。

一般重啟系統(tǒng)前執(zhí)行sync命令

  • async:將數(shù)據(jù)先緩存在緩沖區(qū),再周期性(一般是30s)的去同步到磁盤 。性能好,但是不能保證數(shù)據(jù)的安全性
  • rsync:遠程同步,remote synchronous

rsync特點

1.可以鏡像保存整個目錄樹和文件系統(tǒng)

2.可以保留原有的權限,owner,group,時間,軟硬鏈接,文件屬性等信息

3.傳輸效率高,只比較變化的

4.支持匿名傳輸,也可以做驗證,加強安全

rsync的選項說明

  • -v:顯示rsync過程中詳細信息??梢允褂?quot;-vvvv"獲取更詳細信息。
  • -P:顯示文件傳輸?shù)倪M度信息。(實際上"-P"="–partial --progress",其中的"–progress"才是顯示進度信息的)。
  • -n --dry-run :僅測試傳輸,而不實際傳輸。常和"-vvvv"配合使用來查看rsync是如何工作的。
  • -a --archive :歸檔模式,表示遞歸傳輸并保持文件屬性。等同于"-rtopgDl"。
  • -r --recursive:遞歸到目錄中去。
  • -t --times:保持mtime屬性。強烈建議任何時候都加上"-t",否則目標文件mtime會設置為系統(tǒng)時間,導致下次更新:檢查出mtime不同從而導致增量傳輸無效。
  • -o --owner:保持owner屬性(屬主)。
  • -g --group:保持group屬性(屬組)。
  • -p --perms:保持perms屬性(權限,不包括特殊權限)。
  • -D:是"–device --specials"選項的組合,即也拷貝設備文件和特殊文件。
  • -l --links:如果文件是軟鏈接文件,則拷貝軟鏈接本身而非軟鏈接所指向的對象。
  • -z :傳輸時進行壓縮提高效率。
  • -R --relative:使用相對路徑。意味著將命令行中指定的全路徑而非路徑最尾部的文件名發(fā)送給服務端,包括它們的屬性。用法見下文示例。
  • –size-only:默認算法是檢查文件大小和mtime不同的文件,使用此選項將只檢查文件大小。
  • -u --update:僅在源mtime比目標已存在文件的mtime新時才拷貝。注意,該選項是接收端判斷的,不會影響刪除行為。
  • -d --dirs:以不遞歸的方式拷貝目錄本身。默認遞歸時,如果源為"dir1/file1",則不會拷貝dir1目錄,使用該選項將拷貝dir1但不拷貝file1。
  • –max-size:限制rsync傳輸?shù)淖畲笪募笮?。可以使用單位后綴,還可以是一個小數(shù)值(例如:"–max-size=1.5m")
  • –min-size:限制rsync傳輸?shù)淖钚∥募笮?。這可以用于禁止傳輸小文件或那些垃圾文件。
  • –exclude:指定排除規(guī)則來排除不需要傳輸?shù)奈募?/li>
  • –delete:以SRC為主,對DEST進行同步。多則刪之,少則補之。注意"–delete"是在接收端執(zhí)行的,所以它是在:exclude/include規(guī)則生效之后才執(zhí)行的。
  • -b --backup:對目標上已存在的文件做一個備份,備份的文件名后默認使用"~“做后綴。
  • –backup-dir:指定備份文件的保存路徑。不指定時默認和待備份文件保存在同一目錄下。
  • -e:指定所要使用的遠程shell程序,默認為ssh。
  • –port:連接daemon時使用的端口號,默認為873端口。
  • –password-file:daemon模式時的密碼文件,可以從中讀取密碼實現(xiàn)非交互式。注意,這不是遠程shell認證的密碼,而是rsync模塊認證的密碼。
  • -W --whole-file:rsync將不再使用增量傳輸,而是全量傳輸。在網絡帶寬高于磁盤帶寬時,該選項比增量傳輸更高效。
  • –existing:要求只更新目標端已存在的文件,目標端還不存在的文件不傳輸。注意,使用相對路徑時如果上層目錄不存在也不會傳輸。
  • –ignore-existing:要求只更新目標端不存在的文件。和”–existing"結合使用有特殊功能,見下文示例。
  • –remove-source-files:要求刪除源端已經成功傳輸?shù)奈募?/li>

用法

1.本地同步:

rsync -a 源目錄或文件 目標目錄或文件
例如:
rsync -a /dir1/ /dir2/     #dir1下所有文件同步到dir2下

2.遠程同步:

rsync -av root@192.168.1.77:/etc/hosts /dir1/     #j將192.168.1.77服務器/etc/hosts文件拷貝到本地/dir1文件夾下

默認是需要輸入密碼才能同步,因為rsync基于ssh服務

注:免密登錄,這只密鑰對

3.將rsync作為服務,進行同步(遠程服務器端進行如下配置)

創(chuàng)建配置文件:touch /etc/rsyncd.conf

編輯/etc/rsyncd.conf

[ava]             #ava為模塊名
log file = /var/log/rsync.log
path=/dir1        #path為同步目錄
uid = root       不設置uid和gid的話會報錯:有部分文件同步失敗,提示:`permission denied`      
gid = root

啟動:rsync --daemon

驗證是否啟動:

netstat -nltup | grep rsync   #可以看到端口號是873

手動進行備份操作:

本地端執(zhí)行同步,從192.168.1.77同步模塊名為ava的文件到本地/tmp/目錄下:

rsync -av root@192.168.1.77::ava /tmp/

上述命令是手動實現(xiàn)備份功能,如需自動備份看下:

自動備份:

1.編寫腳本

vim rsync_ava.sh

腳本內容:

#!/bin/bash
rsync -av root@192.168.1.77::ava /tmp/ &>/dev/null

給腳本添加可執(zhí)行權限

chmod +x rsync_ava.sh

2.執(zhí)行定時任務

編寫計劃

crontab -e
03 01 * * * 腳本路徑      #每天1時3分執(zhí)行備份腳本

查詢定時計劃:

crontab -l

拓展

實時同步備份(服務端有文件改變就備份):rsync+inotify

1.安裝inotify軟件

tar xf inotify-tools-3.13.tar.gz -C /usr/src/
cd /usr/src/inotify-tools-3.13/
./configure
make
make install

安裝后會產生兩條命令:

/usr/local/bin/inotifywait        #等待
/usr/local/bin/inotifywatch     #看守

2.編寫腳本實現(xiàn)同步

#!/bin/bash
/usr/local/bin/inotifywait -mrq -e modify,delete,create,attrib,move /dir1
| while read events
			do
				rsync -a --delete /dir1 /dir2/
				echo "'date +%F\ %T'出現(xiàn)事件$events"  >> /var/log/rsync.log
2>&1
		done

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • ubuntu15.10下hadoop2.7.2的安裝與配置詳解

    ubuntu15.10下hadoop2.7.2的安裝與配置詳解

    今天小編就為大家分享一篇關于ubuntu15.10下hadoop2.7.2的安裝與配置詳解,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • Linux下MongoDB的安裝和配置教程

    Linux下MongoDB的安裝和配置教程

    這篇文章主要介紹了Linux下MongoDB的安裝和配置教程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • 詳解如何在Linux中重置MySQL或者MariaDB的root密碼

    詳解如何在Linux中重置MySQL或者MariaDB的root密碼

    本篇文章主要介紹了如何在 Linux 中重置 MySQL 或者 MariaDB 的 root 密碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-03-03
  • linux中配置pptp服務器配置的方法

    linux中配置pptp服務器配置的方法

    下面小編就為大家?guī)硪黄猯inux中配置pptp服務器配置的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • Ubuntu常用指令及用法詳解

    Ubuntu常用指令及用法詳解

    本文重點給大家介紹Ubuntu常用指令及用法,感興趣的朋友跟隨腳本之家小編一起學習吧
    2018-06-06
  • 如何解決Diffie-Hellman Key Agreement Protocol資源管理錯誤漏洞(CVE-2002-20001)

    如何解決Diffie-Hellman Key Agreement Protocol資源管理

    文章主要介紹了資源管理錯誤漏洞的修復項目,特別提到Diffie-HellmanKeyAgreementProtocol是一種密鑰協(xié)商協(xié)議,該協(xié)議存在安全漏洞,文章建議在配置文件中正確寫入kexalgorithms,避免語法錯誤導致sshd服務無法啟動,從而無法通過SSH連接服務器
    2024-12-12
  • Linux中l(wèi)ogrotate日志輪詢操作總結

    Linux中l(wèi)ogrotate日志輪詢操作總結

    這篇文章主要給大家介紹了在Linux中l(wèi)ogrotate日志輪詢操作的相關資料,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-06-06
  • Apache2.2.16+PHP5.3.3+MySQL5.1.49的配置方法

    Apache2.2.16+PHP5.3.3+MySQL5.1.49的配置方法

    輕松配置PHP5.3.3+Apache2.2.16+MySQL5.1.49,下面是有詳細的步驟說明。
    2010-09-09
  • Linux which命令的具體使用

    Linux which命令的具體使用

    這篇文章主要介紹了Linux which命令的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02
  • Linux下Python腳本自啟動和定時啟動的詳細步驟

    Linux下Python腳本自啟動和定時啟動的詳細步驟

    這篇文章主要介紹了Linux下Python腳本自啟動和定時啟動的詳細步驟,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09

最新評論