`
vissul
  • 浏览: 194348 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

以 rsync 進行同步鏡相備份

阅读更多

以 rsync 進行同步鏡相備份

我們曾在基礎篇裡面談過 Linux 的備份策略, 該篇曾介紹常用的備份指令,包括 tar, dd, cp 等等,不過當時並未介紹網路,所以有個很棒的網路工具沒有介紹, 那就是這個地方要談到的 rsync 啦!這個 rsync 可以作為一個相當棒的異地備援系統的備份指令喔! 因為 rsync 可以達到類似『鏡相 (mirror) 』的功能呢!

rsync 最早是想要取代 rcp 這個指令的,因為 rsync 不但傳輸的速度快,而且他在傳輸時, 可以比對本地端與遠端主機欲複製的檔案內容,而僅複製兩端有差異的檔案而已,所以傳輸的時間就相對的降低很多! 此外, rsync 的傳輸方式至少可以透過三種方式來運作:
  • 在本機上直接運作,用法就與 cp 幾乎一模一樣,例如:
    rsync -av /etc /tmp (將 /etc/ 的資料備份到 /tmp/etc 內)

  • 透過 rsh 或 ssh 的通道在 server / client 之間進行資料傳輸,例如:
    rsync -av -e ssh user@rsh.server:/etc /tmp (將 rsh.server 的 /etc 備份到本地主機的 /tmp 內)

  • 直接透過 rsync 提供的服務 (daemon) 來傳輸,此時 rsync 主機需要啟動 873 port:
    1. 你必須要在 server 端啟動 rsync , 看 /etc/xinetd.d/rsync 即可;
    2. 你必須編輯 /etc/rsyncd.conf 設定檔;
    3. 你必須設定好 client 端連線的密碼資料;
    4. 在 client 端可以利用:rsync -av user@hostname::/dir/path /local/path
其實三種傳輸模式差異在於有沒有冒號 (:) 而已,本地端傳輸不需要冒號,透過 ssh 或 rsh 時,就得要利用一個冒號 (:), 如果是透過 rsync daemon 的話,就得要兩個冒號 (::) ,應該不難理解啦!因為本地端處理很簡單, 而我們的系統本來就有提供 ssh 的服務,所以,底下鳥哥將直接介紹利用 rsync 透過 ssh 來備份的動作喔。 不過,在此之前咱們先來看看 rsync 的語法吧!
[root@linux ~]# rsync [-avrlptgoD] [-e ssh] [user@host:/dir] [/local/path]
參數:
-v :觀察模式,可以列出更多的資訊;
-q :與 -v  相反,安靜模式,輸出的資訊比較少;
-r :遞迴複製!可以針對『目錄』來處理!很重要!
-u :僅更新 (update),不會覆蓋目標的新檔案;
-l :複製連結檔的屬性,而非連結的目標原始檔案內容;
-p :複製時,連同屬性 (permission) 也保存不變!
-g :保存原始檔案的擁有群組;
-o :保存原始檔案的擁有人;
-D :保存原始檔案的裝置屬性 (device)
-t :保存原始檔案的時間參數;
-I :忽略更新時間 (mtime) 的屬性,檔案比對上會比較快速;
-z :加上壓縮的參數!
-e :使用的通道協定,例如使用 ssh 通道,則 -e ssh
-a :相當於 -rlptgoD ,所以這個 -a 是最常用的參數了!
更多說明請參考 man rsync 的解說!

範例一:將 /etc 的資料備份到 /tmp 底下:
[root@linux ~]# rsync -av /etc /tmp
....前面輸出省略....
sent 23007335 bytes  received 32280 bytes  5119914.44 bytes/sec
total size is 22870014  speedup is 0.99
# 第一次運作時會花比較久的時間,因為首次建立嘛!如果再次備份呢?

[root@linux ~]# rsync -av /etc /tmp
building file list ... done
sent 77105 bytes  received 20 bytes  154250.00 bytes/sec
total size is 22870014  speedup is 296.53
# 瞧!立刻就跑完了!傳輸的資料也很少!因為再次比對,僅有差異的檔案會被複製。

範例二:利用 dmtsai 的身份,將 rsh.server 使用者家目錄複製到 /tmp 
[root@linux ~]# rsync -av -e ssh dmtsai@rsh.server:~ /tmp 
The authenticity of host 'rsh.server (192.168.1.2)' can't be established.
RSA key fingerprint is 29:b8:a9:32:ea:d8:ff:97:6c:42:3b:aa:11:ab:55:dd.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'rsh.server' (RSA) to the list of known hosts.
dmtsai@rsh.server's password:
receiving file list ... done
....檔案輸出省略....
sent 8436 bytes  received 43224862 bytes  2789245.03 bytes/sec
total size is 43189031  speedup is 1.00

[root@linux ~]# ll -d /tmp/dmtsai
drwxr-xr-x  22 dmtsai dmtsai  4096 Sep 18 23:25 /tmp/dmtsai
# 瞧!這樣就做好備份啦!很簡單吧!
你可以利用上面的範例二來做為備份 script 的參考!不過要注意的是, 因為 rsync 是透過 ssh 來傳輸資料的,所以你可以針對 dmtsai 這個傢伙製作出免用密碼登入的 ssh 金鑰! 如此一來往後異地備援系統就能夠自動的以 crontab 來進行備份了!簡單到爆!

免密碼的 ssh 帳號我們在上頭已經講過了,撰寫 shell script 的能力也是必須要有的! 利用 rsync 來進行你的備份工作吧! ^_^!
分享到:
评论

相关推荐

    用rsync实现网站镜像和备份

    rsync是一款强大的数据同步工具,尤其适用于在类Unix系统中进行文件和目录的备份与镜像。它的名称“remote sync”揭示了其主要功能——远程同步。rsync具有以下几个关键特性: 1. **完整镜像**:rsync能够创建一个...

    rsync rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步

    6. **镜像备份**:rsync可以创建源目录的精确镜像,保持文件的属性如权限、所有权、时间戳等。 7. **实时同步**:rsync可以通过守护进程模式持续监控文件系统的变化,实现近乎实时的同步。 rsync命令的常用选项...

    图解rsync数据同步部署文档.docx

    rsync 是一种快速、可靠的文件同步工具,广泛应用于数据同步、备份和镜像等领域。以下是 rsync 数据同步部署指南的摘要信息: 一、什么是 rsync? rsync 是一个免费的、功能强大、跨平台的文件同步工具,由 Andrew...

    Rsync实现文件备份同步

    此外,Rsync还支持压缩、排除文件、镜像操作等特性,使其成为文件备份和同步的理想选择。 ### 2. Rsync工作原理 Rsync通过算法对比源文件和目标文件的相似性,仅同步差异部分。它使用一种称为“滚动检查”的算法,...

    rsync中文手册,使用rsync实现网站镜像及备份

    通过使用rsync工具,中小型企业或网站可以以较低的成本实现高效的远程数据备份和网站镜像。相比于其他商业解决方案,rsync提供了更高的灵活性和更好的性能。此外,由于它是开源软件,用户可以根据自己的需求定制化...

    rsync同步备份工具

    rsync以其高效的数据同步能力和增量备份功能而著名,它可以在本地系统间或者通过网络在不同系统之间进行文件和目录的同步。 rsync的核心特性包括: 1. **增量同步**:rsync能够识别文件的改变,只传输自上次同步...

    Rsync+sersync实现数据实时同步备份

    - 发起端和备份源的定义:解释了Rsync同步操作中各个组件的角色和功能。 - 推(push)和拉(pull)的数据同步方式:介绍了不同同步模式的工作原理和适用场景。 - Xinetd管理Rsync工作原理:通过Xinetd服务来管理...

    使用Linux的rsync命令实现多服务器镜像同步.doc

    使用 Linux 的 rsync 命令实现多服务器镜像同步 在 Linux 系统中,rsync 命令是实现文件同步和备份的强大工具。rsync 命令可以实现多服务器镜像同步,使得文件在不同服务器之间保持一致。本文将详细介绍使用 rsync ...

    rsync Server是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制

    rsync Server是一款在Linux操作系统中广泛使用的数据镜像备份工具,其主要功能在于实现高效、安全的数据同步和备份。rsync的核心特性在于它的快速增量备份技术,能够仅对发生变化的数据进行传输,极大地节省了网络...

    rsync中文手册之使用rsync实现网站镜像和备份linux第1/3页

    【rsync】是一款在类Unix系统中广泛使用的数据同步工具,尤其在Linux环境下,它能够高效地实现远程数据备份和网站镜像。rsync的名字来源于“remote sync”,它以其独特的特性,如增量传输、保留文件属性等,成为了一...

    rsync文件同步软件

    rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync。它的特性如下: 可以镜像保存整个目录树和文件系统。 可以很容易做到保持原来文件的权限、时间、软硬链接等等。 无须特殊...

    rsync远程同步软件包

    此外,rsync还支持镜像备份,可以创建源文件系统的精确副本,这对于系统备份和灾难恢复至关重要。 rsync的主要命令结构是`rsync [选项] 源 目标`,其中选项包括但不限于: - `-a`:归档模式,相当于`-rlptgoD`,...

    利用rsync+crontab实现Linux的定时增量备份

    rsync不仅支持在同一主机上进行备份,还能够在不同的主机之间进行网络备份和镜像创建。相比于tar和wget,rsync的优势在于它的速度、安全性和效率。它能够更新整个目录和文件系统,同时保留符号链接、硬链接、文件...

    Linux中实现数据镜像备份.pdf

    Linux操作系统中实现数据镜像备份是非常重要的一步骤,以保护数据的安全性。传统的备份方法是使用CP命令或WGET命令,但是这两种方法都有其局限性,例如CP命令只能对本地文件进行完整复制,无法实现增量备份,而WGET...

    介绍rsync数据同步、inotify实时同步;实现linux、windows的备份管理

    **rsync**(Remote Sync)是一款高效且强大的数据同步工具,广泛应用于Linux系统中的数据镜像备份。除了支持本地复制外,它还能与其他SSH或rsync主机进行同步。随着技术的发展,rsync已扩展至支持跨平台应用,包括...

    Linux下rsync文件同步详解

    它能够快速地同步文件和目录,从而实现文件的备份、镜像和同步。rsync 的主要功能包括文件同步、异地备份和触发型的更新。 rsync 的原理 rsync 的工作原理是通过在源服务器和目标服务器上扫描文件,并获取文件的...

    Week12_Unit11_RSYNC文件同步服务.pdf

    - **编写计划任务脚本**:通过crontab设置定时任务,使用shell脚本控制RSYNC同步过程。 #### 项目背景 在项目背景描述中,公司需要加强开发人员线上代码的安全性,通过在独立的备份服务器上进行统一集中备份来实现...

    用Rsync实现Linux文件系统备份.pdf

    使用 Rsync 进行文件备份和镜像操作需要在进行备份操作的源机器(称为 Rsync 服务器)和目标机器(称为 Rsync 客户端)上都安装 Rsync。在服务器和客户端安装 Rsync 的方法和过程是完全一样的。接下来,在服务器机器...

    rsync数据同步软件最新版

    在实际应用中,rsync通常与其他工具结合使用,如inotify-tools,可以实时监控文件系统的变化并触发rsync同步,实现近乎实时的备份。或者配合ssh来安全地进行远程同步。 总的来说,rsync是一个功能强大、灵活且高效...

    rsync备份工具.pdf

    rsync是一款在Linux系统下广泛使用的数据镜像备份工具,它可以用于远程同步,本地复制,也可以与支持SSH或rsync协议的主机进行同步。rsync使用了所谓的“rsync算法”来增量地传输文件,这个算法使得rsync在第一次...

Global site tag (gtag.js) - Google Analytics