rsync 伺服器架設方法

來源:互聯網
上載者:User

摘要: rsync 是一個快速增量檔案傳輸工具,它可以用於在同一主機備份內部的備分,我們還可以把它作為不同主機網路備份工具之用。本文主要講述的是如何自架rsync伺服器,以實現檔案傳輸、備份和鏡像。相對tar和wget來說,rsync 也有其自身的優點,比如速度快、安全、高效;

 

  •  

    •  

        3.1 rsync的安裝;
        3.2 rsync伺服器的設定檔
        4.1 全域定義
        4.2 模組定義
        5.1 啟動rsync伺服器;
        5.2 rsync伺服器和防火牆;
        6.1 列出rsync 伺服器上的所提供的同步內容;
        6.2 rsync 用戶端同步資料;
        6.3 讓rsync 用戶端自動與伺服器同步資料;
    • 1. 什麼是rsync;
      2、rsync 伺服器的理由和用途;
      3、架設rsync伺服器過程;

       

      4 架設rsync伺服器的樣本說明

      5 啟動rsync 伺服器及防火牆的設定;

      6 通過rsync用戶端來同步資料;

      7 問題處理;
      8 未盡事宜;
      9 關於本文;
      10 更新日誌;
      11 參考文檔;
      12 相關文檔;

  • 目錄

     


+++++++++++++++++++++++++++++++++++
本文
+++++++++++++++++++++++++++++++++++


1 什麼是rsync;

    rsync is a file transfer program for Unix systems. rsync uses the "rsync algorithm" which provides a very fast method for bringing remote files into sync. It does this by sending just the differences in the files across the link, without requiring that both sets of files are present at one of the ends of the link beforehand.

     

    rsync 是一個Unix系統下的檔案同步和傳輸工具。rsync是用 “rsync 演算法”提供了一個客戶機和遠程檔案伺服器的檔案同步的快速方法。

    Some features of rsync include
    rsync 包括如下的一些特性:
    * can update whole directory trees and filesystems
    能更新整個目錄和樹和檔案系統;
    * optionally preserves symbolic links, hard links, file ownership, permissions, devices and times
    有選擇性的保持符號鏈鏈、永久連結、檔案屬於、許可權、裝置以及時間等;
    * requires no special privileges to install
    對於安裝來說,無任何特殊許可權要求;
    * internal pipelining reduces latency for multiple files
    對於多個檔案來說,內部流水線減少檔案等待的延時;
    * can use rsh, ssh or direct sockets as the transport
    能用rsh、ssh 或直接連接埠做為傳輸入連接埠;
    * supports anonymous rsync which is ideal for mirroring
    支援匿名rsync 同步檔案,是理想的鏡像工具;


2 rsync 伺服器的理由;

    rsync 伺服器架設比較簡單,可能我們安裝好rsync後,並沒有發現設定檔,以及rsync伺服器啟動程式,因為每個管理員可能對rsync 用途不一樣,所以一般的發行版只是安裝好軟體就完事了,讓管理員來根據自己的用途和方向來自己架設rsync伺服器;因為這個rsync應用比較廣,能在同一台主機進行備份工作,還能在不同主機之間進行工作。在不同主機之間的進行備份,是必須架設rsync 伺服器的。

    以我的觀點上看,如果在同一台主機進行檔案的備分,用複製工具cp就好了。沒必要用rsync 這麼相對複雜的工具,cp也簡單易用,當然這僅僅是個人觀點;

    對於重量級伺服器來說,應該有網路備份伺服器來說,只有本地備份還是不夠的,最好還是有網路備份主機,這樣資料的安全才有保證。畢竟資料放在伺服器本地上還是不太安全,比如磁碟壞掉、被駭客攻入伺服器刪除資料。其實伺服器本身價值並不大,重要的是資料的價值。

    另外對於大量檔案從一台伺服器上遷移到另一台伺服器上,rsync 的確是一個不可不用傳輸工具。公司有一台檔案伺服器,配置是CPU Intel Celeon 333Mhz,記憶體128M,硬碟IDE 80Gx3=240G,裡面僅是第一個硬碟的12G的分區安裝系統,用了256M做為交換分區,其它的空間我都用來存資料,通過LVM捲來管理磁碟空間,我分了一個 180G的空間給資料存放,當時資料存放區容量已經達到了160多G。當時的情況是伺服器空間有限,沒做本地備份。更不可能新增硬碟上去,因為這台機器沒做RAID,硬碟壞掉一個,資料會全毀掉,安全性沒有一點保障。在這種情況下,為了保證資料的安全性,我被迫做了一台帶有Raid5支援的檔案伺服器。在選擇如何把資料檔案完整的傳輸到新伺服器上,我想到了很多的工具,最後想到了rsync 。我花了十分鐘架設並調試了rsync ,然後就開工檔案傳輸,因為檔案伺服器上的檔案太多,老的檔案伺服器配置又低,大約花了兩三天吧才得以把所有檔案傳輸完畢。


3 架設rsync伺服器過程;

    架設rsync 伺服器比較簡單,寫一個設定檔rsyncd.conf 。檔案的書寫也是有規則的,我們可以參照rsync.samba.org 上的文檔來做;當然我們首先要安裝好rsync 這個軟體才行;


3.1 rsync的安裝;

    軟體安裝過於簡單,現在Linux各大發行版都提供這個軟體包,當然您也可以自己編譯安裝,在目前的情況下,我看沒太大的必要;

     

     

    [root@linuxsir:beinan]$ sudo apt-get  install  rsync  註:在debian、ubuntu 等線上安裝方法;
    [root@linuxsir:beinan]# slackpkg  install  rsync   註:Slackware 軟體包線上安裝;
    [root@linuxsir:beinan]# yum install rsync    註:Fedora、Redhat 等系統安裝方法;

     

    其它Linux發行版,請用相應的軟體包管理方法來安裝;如果是源碼包,也就是用下面的辦法;

     

    [root@linuxsir:/home/beinan]# tar xvf  sync-xxxx.tar.gz 或sync-xxx.tar.bz2
    [root@linuxsir:/home/beinan]# cd  sync-xxx
    [root@linuxsir:/home/beinan/sync-xxx]# ./configure --prefix=/usr  ;make ;make install   註:在用源碼包編譯安裝之前,您得安裝gcc等編譯開具才行;


3.2 rsync伺服器的設定檔rsyncd.conf ;

    我們可以參照 rsyncd.conf.html。具體步驟如下;

     

     

    [root@linuxsir:~]#mkdir /etc/rsyncd  註:在/etc目錄下建立一個rsyncd的目錄,我們用來存放rsyncd.conf 和rsyncd.secrets檔案;
    [root@linuxsir:~]#touch /etc/rsyncd/rsyncd.conf  註:建立rsyncd.conf ,這是rsync伺服器的設定檔;
    [root@linuxsir:~]#touch /etc/rsyncd/rsyncd.secrets  註:建立rsyncd.secrets ,這是使用者密碼檔案;
    [root@linuxsir:~]#chmod 600 /etc/rsyncd/rsyncd.secrets  註:為了密碼的安全性,我們把許可權設為600;
    [root@linuxsir:~]#ls -lh /etc/rsyncd/rsyncd.secrets
    -rw------- 1 root root 14 2007-07-15 10:21 /etc/rsyncd/rsyncd.secrets
    [root@linuxsir:~]#touch /etc/rsyncd/rsyncd.motd

     

    下一就是我們修改 rsyncd.conf 和rsyncd.secrets 和rsyncd.motd 檔案的時候了;

    rsyncd.conf 是rsync伺服器主要設定檔,我們來個簡單的樣本;比如我們要備份伺服器上的 /home 和/opt ,在/home中,我想把beinan和samba目錄排除在外;

    # Distributed under the terms of the GNU General Public License v2

     

    # Minimal configuration file for rsync daemon
    # See rsync(1) and rsyncd.conf(5) man pages for help

    # This line is required by the /etc/init.d/rsyncd script
    pid file = /var/run/rsyncd.pid  
    port = 873
    address = 192.168.1.171 
    #uid = nobody
    #gid = nobody   
    uid = root  
    gid = root  

    use chroot = yes 
    read only = yes 

    #limit access to private LANs
    hosts allow=192.168.1.0/255.255.255.0 10.0.1.0/255.255.255.0 
    hosts deny=*

    max connections = 5
    motd file = /etc/rsyncd/rsyncd.motd

    #This will give you a separate log file
    #log file = /var/log/rsync.log

    #This will log every file transferred - up to 85,000+ per user, per sync
    #transfer logging = yes

    log format = %t %a %m %f %b
    syslog facility = local3
    timeout = 300

    [linuxsirhome]  
    path = /home   
    list=yes
    ignore errors
    auth users = linuxsir
    secrets file = /etc/rsyncd/rsyncd.secrets 
    comment = linuxsir home 
    exclude =   beinan/  samba/     

    [beinan]
    path = /opt
    list=no
    ignore errors
    comment = optdir  
    auth users = beinan
    secrets file = /etc/rsyncd/rsyncd.secrets

     

    註: 關於 auth users 是必須在伺服器上存在的真實的系統使用者,如果你想用多個使用者,那就以,號隔開;比如 auth users = beinan , linuxsir

    密碼檔案:/etc/rsyncd/rsyncd.secrets的內容格式;

     

    使用者名稱:密碼

     

    而我們在例子中rsyncd.secrets的內容如下類似的;在文檔中說,有些系統不支援長密碼,自己嘗試著設定一下吧。另外 rsyncd.secrets檔案許可權對其它使用者組是不可讀的。如果你設定錯了,可能rsync不工作。

     

    linuxsir:222222
    beinan:333333

     

    註: 這裡的密碼值得注意,為了安全,你不能把系統使用者的密碼寫在這裡。比如你的系統使用者 linuxsir 密碼是 abcdefg ,為了安全,你可以讓rsync 中的linuxsir 為 222222 。這和samba的使用者認證的密碼原理是差不多的;

    rsyncd.motd 檔案;

    它是定義rysnc 伺服器資訊的,也就是使用者登入資訊。比如讓使用者知道這個伺服器是誰提供的等;類似ftp伺服器登入時,我們所看到的 linuxsir.org ftp ……。 當然這在全域定義變數時,並不是必須的,你可以用#號注掉,或刪除;我在這裡寫了一個 rsyncd.motd的內容為:

     

    +++++++++++++++++++++++++++
    + linuxsir.org  rsync  2002-2007 +
    +++++++++++++++++++++++++++

     


4 架設rsync伺服器的樣本說明;


4.1 全域定義;

    在rsync 伺服器中,全域定義有幾個比較關健的,根據我們前面所給的設定檔 rsyncd.conf 檔案;

     

     

    pid file = /var/run/rsyncd.pid   註:告訴進程寫到 /var/run/rsyncd.pid 檔案中;
    port = 873  註:指定運行連接埠,預設是873,您可以自己指定;
    address = 192.168.1.171  註:指定伺服器IP地址;
    uid = nobody  
    gid = nobdoy  

     

    註:伺服器端傳輸檔案時,要發哪個使用者和使用者組來執行,預設是nobody。 如果用nobody 使用者和使用者組,可能遇到許可權問題,有些檔案從伺服器上拉不下來。所以我就偷懶,為了方便,用了root 。不過您可以在定義要同步的目錄時定義的模組中指定使用者來解決許可權的問題。

    use chroot = yes 

     

    註:用chroot,在傳輸檔案之前,伺服器精靈在將chroot 到檔案系統中的目錄中,這樣做的好處是可能保護系統被安裝漏洞侵襲的可能。缺點是需要超級使用者權限。另外對符號連結檔案,將會排除在外。也就是說,你在rsync伺服器上,如果有符號連結,你在備份伺服器上運行用戶端的同步資料時,只會把符號連結名同步下來,並不會同步符號連結的內容;這個需要自己來嘗試;

     

    read only = yes 

     

    註:read only 是唯讀選擇,也就是說,不讓用戶端上傳檔案到伺服器上。還有一個 write only選項,自己嘗試是做什麼用的吧;

     

    #limit access to private LANs
    hosts allow=192.168.1.0/255.255.255.0 10.0.1.0/255.255.255.0 

     

    註:在您可以指定單個IP,也可以指定整個網段,能提高安全性。格式是ip 與ip 之間、ip和網段之間、網段和網段之間要用空格隔開;

     

    max connections = 5   

     

    註:用戶端最多串連數;

     

    motd file = /etc/rsyncd/rsyncd.motd

     

    註:motd file 是定義伺服器資訊的,要自己寫 rsyncd.motd 檔案內容。當使用者登入時會看到這個資訊。比如我寫的是:

     

    +++++++++++++++++++++++++++
    + linuxsir.org  rsync  2002-2007 +
    +++++++++++++++++++++++++++

     

     

    log file = /var/log/rsync.log

     

    註:rsync 伺服器的日誌;

     

    transfer logging = yes

     

    註:這是傳輸檔案的日誌;

    log format = %t %a %m %f %b
    syslog facility = local3
    timeout = 300

     


4.2 模組定義;

    模組定義什麼呢?主要是定義伺服器哪個目錄要被同步。每個模組都要以[name]形式。這個名字就是在rsync 用戶端看到的名字,其實有點象Samba伺服器提供的共用名稱。而伺服器真正同步的資料是通過 path 來指定的。我們可以根據自己的需要,來指定多個模組。每個模組要指定認證使用者,密碼檔案、但排除並不是必須的;

     

    下面前面設定檔模組的例子:

     

    [linuxsirhome]  
    註:模組,它為我們提供了一個連結的名字,連結到哪呢,在本模組中,連結到了/home目錄;要用[name] 形式;
    path = /home    註:指定檔案目錄所在位置,這是必須指定的;
    auth users = linuxsir   註:認證使用者是linuxsir  ,是必須在 伺服器上存在的使用者;
    list=yes   註:list 意思是把rsync 伺服器上提供同步資料的目錄在伺服器上模組是否顯示列出來。預設是yes 。如果你不想列出來,就no ;如果是no是比較安全的,至少別人不知道你的伺服器上提供了哪些目錄。你自己知道就行了;
    ignore errors  註:忽略IO錯誤,詳細的請查文檔;
    secrets file = /etc/rsyncd/rsyncd.secrets   註:密碼存在哪個檔案;
    comment = linuxsir home  data  註:注釋可以自己定義,寫什麼都行,寫點相關的內容就行;
    exclude =   beinan/   samba/     

    註:exclude 是排除的意思,也就是說,要把/home目錄下的beinan和samba 排除在外; beinan/和samba/目錄之間有空格分開 ;

     

     

    [beinan] 
    path = /opt  註:指定檔案目錄所在位置;
    list=no
    comment = optdir  
    auth users = beinan  註:是必段在伺服器上存在的使用者;
    secrets file = /etc/rsyncd/rsyncd.secrets
    ignore errors


5 啟動rsync 伺服器及防火牆的設定;


5.1 啟動rsync伺服器;

    啟動rsync 伺服器相當簡單,--daemon 是讓rsync 以伺服器模式運行;

     

     

    [root@linuxsir:~]#/usr/bin/rsync --daemon  --config=/etc/rsyncd/rsyncd.conf

     

    註: 如果你找不到rsync 命令,你應該知道rsync 是安裝在哪了。比如rsync 可執行命令可能安裝在了 /usr/local/bin目錄;也就是如下的命令;

     

    [root@linuxsir:~]#/usr/local/bin/rsync --daemon  --config=/etc/rsyncd/rsyncd.conf

     

    當然您也可以寫一個指令碼來開機自動啟動rysnc 伺服器,你自己查查文檔試試,這個簡單。因為我用slackware 也有一個類似的指令碼。我感覺不如直接手工運行方面,或者把這個命令寫入rc.local檔案中,這樣也一樣能自動運行;


5.2 rsync伺服器和防火牆;

    Linux 防火牆是用iptables,所以我們至少在伺服器端要讓你所定義的rsync 伺服器連接埠通過,用戶端上也應該讓通過。

     

     

    [root@linuxsir:~]#iptables -A INPUT -p tcp -m state --state NEW  -m tcp --dport 873 -j ACCEPT
    [root@linuxsir:~]#iptables -L  查看一下防火牆是不是開啟了 873連接埠;

     


6 通過rsync用戶端來同步資料;


6.1 列出rsync 伺服器上的所提供的同步內容;


    首先:我們看看rsync伺服器上提供了哪些可用的資料來源;

     

     

    [beinan@beinnaIBM:~]$ rsync  --list-only  linuxsir@linuxsir.org::

    +++++++++++++++++++++++++++++++++
    +++ linuxsir.org rsync  server ++
    +++++++++++++++++++++++++++++++++

    linuxsirhome    linuxsir  home data

     

    註: 前面是rsync 所提供的資料來源,也就是我們在rsyncd.conf 中所寫的[linuxsirhome]模組。而“linuxsir home data”是由[linuxsirhome]模組中的 comment = linuxsir home data 提供的;為什麼沒有把beinan 資料來源列出來呢?因為我們在[beinan]中已經把list=no了。

     

    [beinan@beinnaIBM:~]$ rsync  --list-only  linuxsir@linuxsir.org::linuxsirhome 

     

    試試這個?


6.2 rsync 用戶端同步資料;

    [beinan@beinnaIBM:~]$ rsync -avzP linuxsir@linuxsir.org::linuxsirhome   linuxsirhome
    Password: 這裡要輸入linuxsir的密碼,是伺服器端提供的,在前面的例子中,我們用的是 222222,輸入的密碼並不顯示出來;輸好後就斷行符號;

     

    註: 這個命令的意思就是說,用linuxsir 使用者登入到伺服器上,把linuxsirhome資料,同步到本地目錄linuxsirhome上。當然本地的目錄是可以你自己定義的,比如 linuxsir也是可以的;當你在用戶端上,當前操作的目錄下沒有linuxsirhome這個目錄時,系統會自動為你建立一個;當存在linuxsirhome這個目錄中,你要注意它的寫入權限。

    說明:

    -a 參數,相當於-rlptgoD,-r 是遞迴 -l 是連結檔案,意思是拷貝連結檔案;-p 表示保持檔案原有許可權;-t 保持檔案原有時間;-g 保持檔案原有使用者組;-o 保持檔案原有屬主;-D 相當於塊裝置檔案;

    -z 傳輸時壓縮;
    -P 傳輸進度;
    -v 傳輸時的進度等資訊,和-P有點關係,自己試試。可以看文檔;

     

    [beinan@beinnaIBM:~]$ rsync -avzP  --delete linuxsir@linuxsir.org::linuxsirhome   linuxsirhome

     

    這回我們引入一個 --delete 選項,表示用戶端上的資料要與伺服器端完全一致,如果 linuxsirhome目錄中有伺服器上不存在的檔案,則刪除。最終目的是讓linuxsirhome目錄上的資料完全與伺服器上保持一致;用的時候要小心點,最好不要把已經有重要數所據的目錄,當做本地更新目錄,否則會把你的資料全部刪除;

     

    [beinan@beinnaIBM:~]$ rsync -avzP  --delete  --password-file=rsync.password  linuxsir@linuxsir.org::linuxsirhome   linuxsirhome

     

    這次我們加了一個選項 --password-file=rsync.password ,這是當我們以linuxsir使用者登入rsync伺服器同步資料時,密碼將讀取 rsync.password 這個檔案。這個檔案內容只是linuxsir使用者的密碼。我們要如下做;

     

    [beinan@beinnaIBM:~]$ touch rsync.password
    [beinan@beinnaIBM:~]$ chmod 600 rsync.passwod
    [beinan@beinnaIBM:~]$ echo "222222"> rsync.password

    [beinan@beinnaIBM:~]$ rsync -avzP  --delete  --password-file=rsync.password  linuxsir@linuxsir.org::linuxsirhome   linuxsirhome

     

    註: 這樣就不要求輸入密碼了;其實這是比較重要的,因為伺服器通過crond 計劃任務還是有必要的;


6.3 讓rsync 用戶端自動與伺服器同步資料;

    伺服器是重量級應用,所以資料的網路備份還是極為重要的。我們可以在生產型伺服器上配置好rsync 伺服器。我們可以把一台裝有rysnc機器當做是備份伺服器。讓這台備份伺服器,每天在早上4點開始同步伺服器上的資料;並且每個備份都是完整備份。有時硬碟壞掉,或者伺服器資料被刪除,完整備份還是相當重要的。這種備份相當於每天為伺服器的資料做一個鏡像,當生產型伺服器發生事故時,我們可以輕鬆恢複資料,能把資料損失降到最低;是不是這麼回事??

    第一步:建立同步指令碼和密碼檔案

     


    [beinan@beinnaIBM:~] mkdir   /etc/cron.daily.rsync
    [beinan@beinnaIBM:~] cd  /etc/cron.daily.rsync
    [beinan@beinnaIBM:~] touch linuxsir.sh  beinan.sh
    [beinan@beinnaIBM:~] chmod 755 /etc/cron.daily.rsync/*.sh 
    [beinan@beinnaIBM:~] mkdir /etc/rsyncd/
    [beinan@beinnaIBM:~] touch  /etc/rsyncd/rsynclinuxsir.password
    [beinan@beinnaIBM:~] touch  /etc/rsyncd/rsyncbeinan.password
    [beinan@beinnaIBM:~] chmod 600  /etc/rsyncd/rsyncbeinan.*

     

    註: 我們在 /etc/cron.daily/ 中建立了兩個檔案beinan.sh和linuxsir.sh ,並且是許可權是 755的。建立了兩個密碼檔案,linuxsir使用者用的是 rsynclinuxsir.password ,而beinan使用者用的是 rsyncbeinan.password ,許可權是600;

    我們編輯linuxsir.sh,內容是如下的:

     

    #!/bin/sh
    #linuxsir.org home backup
    /usr/bin/rsync   -avzP  --password-file=/etc/rsyncd/rsynclinuxsir.password   linuxsir@192.168.1.171::linuxsirhome   /home/linuxsirhome/$(date +'%m-%d-%y')

     

    我們編輯 beinan.sh ,內容是:

     

    #!/bin/sh
    #linuxsir.org beinan home backup
    /usr/bin/rsync   -avzP  --password-file=/etc/rsyncd/rsyncbeinan.password   linuxsir@192.168.1.171::beinan   /home/beinanhome/$(date +'%m-%d-%y')

     

    註:你可以把linuxsir.sh 和beinan.sh 的內容合并到一個檔案中,比如都寫到 linuxsir.sh 中;

    接著我們修改 /etc/rsyncd/rsynclinuxsir.password 和 rsyncbeinan.password的內容;

     

    [beinan@beinnaIBM:~] echo "222222" > /etc/rsyncd/rsynclinuxsir.password
    [beinan@beinnaIBM:~] echo "333333"> /etc/rsyncd/rsyncbeinan.password

     

    然後我們再/home目錄下建立linuxsirhome 和beinanhome兩個目錄,意思是伺服器端的linuxsirhome資料同步到備份伺服器上的/home/linuxsirhome下,beinan資料同步到 /home/beinanhome/目錄下。並按年月日歸檔建立目錄;每天備份都存檔;

     

    [beinan@beinnaIBM:~] mkdir /home/linuxsirhome
    [beinan@beinnaIBM:~] mkdir /home/beinanhome

     

    第二步:修改crond伺服器的設定檔

     

    [beinan@beinnaIBM:~] crontab  -e

     

    加入下面的內容:

    # Run daily cron jobs at 4:10 every day  backup linuxsir data: 
    10 4 * * * /usr/bin/run-parts   /etc/cron.daily.rsync    1> /dev/null

     

    註:
    第一行是注釋,是說明內容,這樣能自己記住。
    第二行表示在每天早上4點10分的時候,運行 /etc/cron.daily.rsync 下的可執行指令碼任務;

    第三步:重啟crond伺服器;

    配置好後,要重啟crond 伺服器;

     

    [beinan@beinnaIBM:~]# killall crond    註:殺死crond 伺服器的進程;
    [beinan@beinnaIBM:~]# ps aux |grep crond  註:查看一下是否被殺死;
    [beinan@beinnaIBM:~]# /usr/sbin/crond    註:啟動 crond 伺服器;
    [beinan@beinnaIBM:~]# ps aux  |grep crond  註:查看一下是否啟動了?
    root      3815  0.0  0.0   1860   664 ?        S    14:44   0:00 /usr/sbin/crond
    root      3819  0.0  0.0   2188   808 pts/1    S+   14:45   0:00 grep crond


7 問題處理;

    當同步出現錯誤時,可能是你的密碼檔案許可權的問題,或者格式不對,也可能是你複製、粘貼造成的。
    另外許可權的問題也應該關注一下,這是最容易出問題的地方;如果您對許可權不太瞭解,應該在LinuxSir.Org 上尋找使用者和使用者組,以及許可權方面的知識;


8 未盡事宜;

    本文並不是大而全的rsync 說明文檔,僅僅是把網路同步檔案的內容說一說,也不一定能完全能說的清楚;對於任何一個工具來說,都足可以寫一本書,所以本文也不可能完全全面的介紹rsync 。如果您想瞭解更多,請參考官方文檔或者man ,我也一樣查看這些內容來應用rsync 。

     

    如果我們用普通使用者用rsync 進行與伺服器同步資料時,同步下來的資料,可能屬主會改變。為了保持檔案的屬主和使用者組與伺服器端完全一致,用root來運行rsync 就可以了……


9 關於本文;

    本文是為瞭解決公司內部檔案上伺服器資料移轉到新的伺服器應用時而寫的,並不是特地為寫rysnc 而寫rsync 。我用不到的東西,或者我不會的東西,我想寫也寫不出來;其實我什麼不會,只是想應用時,才臨時抱佛腳,解決好問題後就忘掉。等用到的時候再查我寫過的東西……

     

    本文適合對象,面向所有初學者, 最好是一點Linux也不懂的。如果您是進階應用程式者,http://rsync.samba.org 完全能滿足我們的需要;

    “北南不息,寫DOC不止;”,只是沒有太多的時間罷了……


10 更新日誌;

    2007/07/17 v0.1b 全文完成,進入抓蟲階段;

     


11 參考文檔;

    rsyncd.conf
    http://rsync.samba.org
    《HOWTO_Local_Rsync_Mirror》
    《Linux 檔案和目錄的屬性》

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.