小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Linux 上的常用文件傳輸方式介紹與比較

 moonboat 2011-06-15

Linux 上的常用文件傳輸方式介紹與比較 

ftpftp 命令使用文件傳輸協(xié)議(File Transfer Protocol, FTP)在本地主機(jī)和遠(yuǎn)程主機(jī)之間或者在兩個(gè)遠(yuǎn)程主機(jī)之間進(jìn)行文件傳輸。FTP  協(xié)議允許數(shù)據(jù)在不同文件系統(tǒng)的主機(jī)之間傳輸。盡管這個(gè)協(xié)議在傳輸數(shù)據(jù)上提供了高適應(yīng)性,但是它并沒有嘗試去保留一個(gè)特定文件系統(tǒng)上的文件屬性(例如一個(gè)文 件的保護(hù)模式或者修改次數(shù))。而且 FTP 協(xié)議很少對(duì)一個(gè)文件系統(tǒng)的整體結(jié)構(gòu)作假定,也不提供這樣的功能,比如遞歸的拷貝子目錄。在使用 ftp  命令時(shí),需要注意 FTP 協(xié)議的這些特性。當(dāng)需要保留文件屬性或者需要遞歸的拷貝子目錄時(shí),可以使用 rcp/scp 等命令。基本語法ftp 命令的一般格式如下:$ ftp 主機(jī)名 /IP其中“主機(jī)名 /IP ”是所要連接的遠(yuǎn)程機(jī)的主機(jī)名或 IP 地址。在命令行中,主機(jī)名屬于可選項(xiàng),如果指定主機(jī)名,ftp 將試圖與遠(yuǎn)程機(jī)的 ftp 服務(wù)程序進(jìn)行連接;如果沒有指定主機(jī)名,ftp 將給出提示符,等待用戶輸入命令:
$ ftp  ftp >
此時(shí)在 ftp> 提示符后面輸入 open 子命令加主機(jī)名或 IP  地址,將試圖連接指定的主機(jī)。不管使用哪一種方法,如果連接成功,需要在遠(yuǎn)程機(jī)上登錄。用戶如果在遠(yuǎn)程機(jī)上有賬號(hào),就可以通過 ftp  使用這一賬號(hào)并需要提供口令。在遠(yuǎn)程機(jī)上的用戶賬號(hào)的讀寫權(quán)限決定該用戶在遠(yuǎn)程機(jī)上能下載什么文件和能將上載文件放到哪個(gè)目錄中。在遠(yuǎn)程站點(diǎn)上登錄成功 后,在“ ftp> ”提示符下可以自由使用 ftp 提供的各種子命令,最常用的子命令如下表所示。表 1. ftp 子命令                        
命令            描述                            
  • ls
  •             
  • 列出遠(yuǎn)程機(jī)的當(dāng)前目錄
  •                             
  • cd
  •             
  • 在遠(yuǎn)程機(jī)上改變工作目錄
  •                             
  • lcd
  •             
  • 在本地機(jī)上改變工作目錄
  •                             
  • ascii
  •             
  • 設(shè)置文件傳輸方式為 ASCII 模式
  •                             
  • binary
  •             
  • 設(shè)置文件傳輸方式為二進(jìn)制模式
  •                             
  • close
  •             
  • 終止當(dāng)前的 ftp 會(huì)話
  •                             
  • get (mget)
  •             
  • 從遠(yuǎn)程機(jī)傳送指定文件到本地機(jī)
  •                             
  • put (mput)
  •             
  • 從本地機(jī)傳送指定文件到遠(yuǎn)程機(jī)
  •                             
  • open
  •             
  • 連接遠(yuǎn)程 ftp 站點(diǎn)
  •                             
  • quit
  •             
  • 斷開與遠(yuǎn)程機(jī)的連接并退出 ftp
  •                             
  •             
  • 顯示本地幫助信息
  •                             
  • !
  •             
  • 轉(zhuǎn)到 Shell 中
  •                             
  • prompt 1
  •             
  • 關(guān)閉交互模式
  •             
    使用實(shí)例:利用編寫 ftp 腳本可以自動(dòng)完成文件傳輸任務(wù)。具體方法是使用 ftp 命令的 -in 選項(xiàng),并重定向 ftp  命令的輸入?,F(xiàn)在我們來編寫一個(gè)利用 ftp 登錄到遠(yuǎn)程服務(wù)器,并以 bin 的文件格式,在 /home 目錄下,下載 file1.log 以及  file2.sh 至本機(jī) /opt/ibm/,并從本地 /opt 目錄上傳文件 file3.jave 至遠(yuǎn)程服務(wù)器 /home 的自動(dòng)化腳本。
    ftp -ni <<+    open $IP    user $USERNAME $PASSWD    bin    cd /home    lcd /opt/ibm    mget file1.log file2.sh    lcd /opt    mput file3.jave    ls    bye

    rcprcp 意為“ remote file copy ”(遠(yuǎn)程文件拷貝)。該命令用于計(jì)算機(jī)之間進(jìn)行文件拷貝。其有兩種格式。第一種格式用于文件到文件的拷貝;第二種格式用于把文件或目錄拷貝到另一個(gè)目錄中。基本語法
    rcp [-px] [-k realm] file1 file2  rcp [-px] [-r] [-k realm] file directory
    每個(gè)文件或目錄參數(shù)既可以是遠(yuǎn)程文件名也可以是本地文件名。遠(yuǎn)程文件名具有如下形式:rname@rhost:path,其中 rname 為遠(yuǎn)程用戶名,rhost 為遠(yuǎn)程計(jì)算機(jī)名,path 為該文件的路徑。下表說明了 rcp 命令各個(gè)參數(shù)的含義。表 2. rcp 命令的命令行參數(shù)                    
  • 選項(xiàng)
  •             
  • 描述
  •                             
  • -r
  •             
  • 遞歸地將源目錄中的所有內(nèi)容拷貝到目的目錄中。若使用該選項(xiàng),目的須為一個(gè)目錄。
  •                             
  • -p
  •             
  • 試圖保留源文件的修改時(shí)間和模式,忽略 umask 。
  •                             
  • -k
  •             
  • 請(qǐng)求 rcp 獲得在指定區(qū)域內(nèi)的遠(yuǎn)程主機(jī)的 Kerberos 許可,而不是獲得由 krb_relmofhost(3)確定的遠(yuǎn)程主機(jī)區(qū)域內(nèi)的遠(yuǎn)程主機(jī)的 Kerberos 許可。
  •                             
  • -x
  •             
  • 為傳送的所有數(shù)據(jù)進(jìn)行 DES 加密。這會(huì)影響響應(yīng)時(shí)間和 CPU 利用率,但是可以提高安全性。
  •             
    如果在文件名中指定的路徑不是完整的路徑名,則該路徑將被解釋為相對(duì)遠(yuǎn)程機(jī)上同名用戶的主目錄。若沒有給出遠(yuǎn)程用戶名,則使用當(dāng)前用戶名。如 果遠(yuǎn)程機(jī)上的路徑包含特殊 shell 字符,需要使用反斜線(\)、雙引號(hào)(”)或單引號(hào)(’)將其括起來,使所有的 shell  元字符都能被遠(yuǎn)程地解釋。需要說明的是,rcp 不提示輸入口令,它通過 rsh(remote shell)命令來執(zhí)行拷貝。使用實(shí)例:
          
    • 將本地文件復(fù)制到遠(yuǎn)程登錄目錄中    rcp <source> <remoteDir>    
    •     
    • 將多個(gè)本地文件復(fù)制到遠(yuǎn)程登錄目錄的子目錄中    rcp <source1> <source2> <source3> <subdirectory in remote system>    
    •     
    • 將多個(gè)文件從多個(gè)遠(yuǎn)程源復(fù)制到使用不同用戶名的遠(yuǎn)程目標(biāo)中    rcp <host1.user1:source1> <host2.user2:source2> <dest.destuser:directory>    

    scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]          [-l limit] [-o ssh_option] [-P port] [-S program]          [[user@]host1:]file1 [...] [[user@]host2:]file2
    使用 scp 命令,需要輸入密碼,如果不想每次都輸入,可參考下面的方法。首先生成密鑰對(duì)
    $ ssh-keygen -t rsa  Generating public/private rsa key pair.  Enter file in which to save the key (/home/user/.ssh/id_rsa):  Created directory '/home/user/.ssh'.  Enter passphrase (empty for no passphrase):  Enter same passphrase again:  Your identification has been saved in /home/user/.ssh/id_rsa.  Your public key has been saved in /home/user/.ssh/id_rsa.pub.  The key fingerprint is:  10:66:da:38:85:8a:8c:bd:db:9c:6e:eb:ee:bd:7d:15 user@somehost
    在這里,我們指定了生成 rsa  類型的密鑰。在提示密鑰的保存路徑和密碼時(shí),可以直接回車使用默認(rèn)路徑和空密碼。這樣,生成的公共密鑰保存在  $HOME/.ssh/id_rsa.pub,私有密鑰保存在 $HOME/.ssh/id_rsa  。然后把這個(gè)密鑰對(duì)中的公共密鑰的內(nèi)容復(fù)制到要訪問的機(jī)器上的 $HOME/.ssh/authorized_keys  文件中。這樣,下次再訪問那臺(tái)機(jī)器時(shí),就不用輸入密碼了。使用實(shí)例:
          
    • Copy 本地文件 /etc/eva.log, 到遠(yuǎn)程機(jī)器 sysB, 用戶 user 的家目錄下    scp /etc/eva.log user@sysB:/home/user    
    •     
    • copy 遠(yuǎn)程機(jī)器 sysB 上的文件 /home/uesr/eva.log, 到本地的 /etc 目錄下 , 并保持文件屬性不變    scp -p user@sysB:/home/uesr/eva.log /etc    
    •     
    • copy sysB 上的目錄 /home/user, 到本地 /home/user/tmp, <new dir,/home/user/tmp/user>    scp -r user@sysB:/home/user /home/user/tmp    

    wget [options] [URL-list]
    wget 有很多不同的參數(shù)以用于遠(yuǎn)程站點(diǎn)信息的獲取,常用參數(shù)如下,更多參數(shù)請(qǐng)參照 wget 幫助手冊(cè) http://www./software/wget/manual/wget.html表 3. wget 工具常用參數(shù)    
                          
    • 選項(xiàng)
    •             
    • 描述
    •                             
    • -r
    •             
    • 遞歸下載服務(wù)器上所有的目錄和文件。由 -l 選項(xiàng)來指定遞歸深度。
    •                             
    • -b
    •             
    • 后臺(tái)下載
    •                             
    • -m
    •             
    • 制作站點(diǎn)鏡像
    •                             
    • -c
    •             
    • 指定斷點(diǎn)續(xù)傳功能。該功能要求服務(wù)器支持?jǐn)帱c(diǎn)續(xù)傳。
    •                             
    • -I
    •             
    • 指定下載目錄列表,可實(shí)現(xiàn)批量下載
    •                             
    • -A/-R
    •             
    • 指定接受/拒絕下載列表,實(shí)現(xiàn)選擇性地下載
    •                             
    • --proxy=on/off
    •             
    • 指定是否利用代理服務(wù)器進(jìn)行下載
    •                             
    • -t,  --tries=NUMBER
    •             
    • 最大嘗試鏈接次數(shù) (0 表示無限制,默認(rèn)為 20 次 )
    •                             
    • -nc, --no-clobber
    •             
    • 不覆蓋已存在的文件
    •                             
    • -N,  --timestamping
    •             
    • 只下載比本地新的文件
    •                             
    • -nd  --no-directories
    •             
    • 不進(jìn)行目錄結(jié)構(gòu)創(chuàng)建
    •                             
    • -x,  --force-directories
    •             
    • 強(qiáng)制創(chuàng)建目錄結(jié)構(gòu)
    •                             
    • -nH, --no-host-directories
    •             
    • 不繼承主機(jī)目錄結(jié)構(gòu)
    •                             
    • -P,  --directory-prefix=PREFIX
    •             
    • 設(shè)置目錄前綴
    •             
    使用實(shí)例:
          
    • 遞歸下載 http://www. 站點(diǎn)的信息。下載所有顯示完整網(wǎng)頁所以需要的文件,如圖片等。在下載不進(jìn)行上層目錄搜索并將絕對(duì)鏈接轉(zhuǎn)換為相對(duì)鏈接。    wget -r -p -np -k http://www.
          
    • 將在本地硬盤建立 http://www. 的鏡像,鏡像文件存入當(dāng)前目錄下一個(gè)名為 www.  的子目錄中(也可以使用 -nH 參數(shù)指定不建立該子目錄,而直接在當(dāng)前目錄下建立鏡像的目錄結(jié)構(gòu)),遞歸深度為  4,重試次數(shù)為無窮(若連接出現(xiàn)問題,wget 將永遠(yuǎn)重試下去,直至任務(wù)完成)    wget -m -l4 -t0 http://www.ibm.com.c
          
    • 使用代理進(jìn)行下載,并實(shí)現(xiàn)斷點(diǎn)續(xù)傳。代理可以在環(huán)境變量 PROXY 或 wgetrc 文件中設(shè)定。 -c 選項(xiàng)要求服務(wù)支持?jǐn)帱c(diǎn)續(xù)傳。    wget -Y on -c http://www.

    curl [options &hellip; ] <url>
    其中下載參數(shù)大約有 80 多個(gè),curl 的各個(gè)功能完全依靠這些參數(shù)來完成。下面舉例說明 curl 的一些基本用法。使用實(shí)例:
          
    • 獲取 GNU 的主頁    curl http://www.    
    •     
    • 獲取 GNU 的 FTP 服務(wù)器上根目錄下的 README 文件    curl ftp://ftp./README    
    •     
    • 從一個(gè)字典中獲取 curl 的定義    curl dict://dict.org/m:curl    
    •     
    • 如果需要指定用戶名和密碼的話,可以在 url 中指定,或者使用 -u 參數(shù)    curl ftp://name:passwd@machine.domain:port/full/path/to/file    curl -u name:passwd ftp://machine.domain:port/full/path/to/file    
    •     
    • curl 會(huì)將從指定 url 處獲取的內(nèi)容打印到標(biāo)準(zhǔn)輸出上。如果需要保存在本地文件中,可以使用 -o,或使用 -O 參數(shù)指定使用遠(yuǎn)程主機(jī)上的文件名(如果 url 中沒有給出文件名的部分,則此操作將會(huì)失敗)    curl – o gnu.html http://www.    curl – O http://www./index.html    
    •     
    • 使用 -x 選項(xiàng)來使用代理進(jìn)行連接    curl -x my-proxy:port ftp://ftp.somesite.com/README    
    •     
    • 通過使用 curl 的 -T 選項(xiàng)來進(jìn)行上載    curl -T - ftp://ftp.upload.com/upfile    
    •     
    • 此命令從標(biāo)準(zhǔn)輸入讀取數(shù)據(jù),并上載至遠(yuǎn)程 FTP 服務(wù)器上的 upfile 文件中。也可以指定上載一個(gè)本地文件    curl -T localfile -a ftp://ftp.upload.com/upfile    其中 -a 參數(shù)表示以添加方式將 localfile 中的內(nèi)容附加到 upfile 的末尾。    
    總的來說,curl 適合用來進(jìn)行自動(dòng)的文件傳輸或操作序列,它是一個(gè)很好的模擬用戶在網(wǎng)頁瀏覽器上的行為的工具。尤其當(dāng)需要在程序中調(diào)用時(shí),libcurl 是個(gè)很好的選擇。

          
    • 支持鏈接、所有者、組信息以及權(quán)限信息的拷貝;
    •     
    • 通過遠(yuǎn)程 shell(ssh, rsh)進(jìn)行傳輸;
    •     
    • 無須特殊權(quán)限即可安裝使用;
    •     
    • 流水線式文件傳輸模式,文件傳輸效率高;
    •     
    • 支持匿名操作;
    需要提及的是 rsync 以其優(yōu)越的性能優(yōu)勢區(qū)別于其它幾種 Linux 文件傳輸方法,其同步文件的速度相當(dāng)快,這主要?dú)w功于  rsync 所使用的傳輸算法。簡而言之 rsync  算法能在相當(dāng)短的時(shí)間內(nèi)計(jì)算出需要備份的數(shù)據(jù),只對(duì)源文件與目標(biāo)文件的不同之處進(jìn)行傳輸,從而降低網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)量,以此達(dá)到快速備份鏡像的目的。下面 通過一典型應(yīng)用場景來描述 rsync 算法的基本原理:主機(jī) A 與主機(jī) B 均有對(duì)同一文件的拷貝,用戶對(duì)主機(jī) A 上的拷貝進(jìn)行更新,主機(jī) B  通過 rsync 算法對(duì)更新后的文件進(jìn)行同步。以下是該算法的實(shí)現(xiàn)步驟:
          
    1. 主機(jī) B 將原始拷貝劃分成大小為 N 的不重合的若干塊(文件末尾部分分塊大小可能不足 N),并對(duì)這些數(shù)據(jù)塊進(jìn)行兩種不同方式的校驗(yàn):32 位的滾動(dòng)弱校驗(yàn)、128 位的 MD4 強(qiáng)校驗(yàn)。弱校驗(yàn)較之強(qiáng)校驗(yàn)計(jì)算速度快。
    2.     
    3. 主機(jī) B 將每個(gè)數(shù)據(jù)塊的弱校驗(yàn)、強(qiáng)校驗(yàn)結(jié)果發(fā)送給主機(jī) A 。
    4.     
    5. 主機(jī) A 對(duì)更新后的文件拷貝中的每個(gè)長度為 N 的數(shù)據(jù)塊進(jìn)行弱校驗(yàn)并與從 B 接收到的弱校驗(yàn)值進(jìn)行匹配,若相同再進(jìn)行強(qiáng)校驗(yàn)匹配。由于弱校驗(yàn)的滾動(dòng)特性可以快速地篩選出需要進(jìn)行同步的數(shù)據(jù)塊。該算法的運(yùn)算量主要集中在主機(jī) A 上。
    6.     
    7. 通過上述計(jì)算,主機(jī) A 將文件的不同部分發(fā)送給 B,B 接收到兩個(gè)拷貝之間的不同之處,從而同步得到更新后的文件。
    通過如上方式,rsync 避免了對(duì)相同數(shù)據(jù)的傳輸,減少了網(wǎng)絡(luò)帶寬的浪費(fèi)。在時(shí)間上整個(gè)過程中需一個(gè)往返,從某種程度上也保證了 rsync 的優(yōu)越性能。用戶可從官方網(wǎng)站 http://rsync./ 上下載安裝 rsync 的最新版本。使用時(shí)需將 rsync  分別安裝于服務(wù)端和客戶端,服務(wù)端和客戶端使用同一個(gè) rsync 軟件包來實(shí)現(xiàn)遠(yuǎn)程鏡像和定期同步更新。需要說明的是一個(gè) rsync  服務(wù)端可同時(shí)備份多個(gè)客戶端的數(shù)據(jù);多個(gè)服務(wù)端備份一個(gè)客戶端的數(shù)據(jù)。 rsync 默認(rèn)端口為  873,服務(wù)器在該端口接收客戶的匿名或者認(rèn)證方式的備份請(qǐng)求。rsync 服務(wù)端在使用之前需要進(jìn)行必要的配置,其配置文件為  /etc/rsyncd.conf,進(jìn)行認(rèn)證、訪問、日志記錄等控制。配置文件包括全局參數(shù)、模塊參數(shù)的設(shè)置。 rsyncd.conf 文件中  [module]  之前的所有參數(shù)為全局參數(shù),也可以在全局參數(shù)部分定義模塊參數(shù),在這種情況下該參數(shù)的值就是所有模塊的默認(rèn)值。全局參數(shù)設(shè)置程序使用的端口號(hào),指定消息文 件、日志文件 pid  文件以及發(fā)送日志消息的級(jí)別。模塊參數(shù)主要定義服務(wù)端哪個(gè)目錄需要被同步。用戶可根據(jù)不同的需要指定多個(gè)模塊,每個(gè)模塊對(duì)應(yīng)需要備份的一個(gè)目錄樹,即若有  N 個(gè)需要備份的目錄樹,則需要 N 個(gè)模塊與之對(duì)應(yīng)。模塊中可以定義許多參數(shù),常見參數(shù)如下。表 4. rsyncd.conf 配置文件常見模塊參數(shù)列表    
                          
    • 選項(xiàng)
    •             
    • 描述
    •                             
    • Comment
    •             
    • 模塊信息描述,該描述連同模塊名在客戶連接得到模塊列表時(shí)顯示給客戶。默認(rèn)沒有描述定義。
    •                             
    • Path
    •             
    • 指定供備份的目錄路徑,必須指定該參數(shù)。
    •                             
    • max connections
    •             
    • 指定最大并發(fā)連接數(shù)以保護(hù)服務(wù)器,超過限制的連接請(qǐng)求將被告知隨后再試。默認(rèn)值為 0,即沒有限制。
    •                             
    • log file
    •             
    • 指定日志文件
    •                             
    • read only
    •             
    • 設(shè)定是否允許客戶上載文件。若為 true 任何上載請(qǐng)求均會(huì)失敗,若為 false 且客戶端擁有服務(wù)器目錄讀寫權(quán)限則可以上載。默認(rèn)值為 true 。
    •                             
    • write only
    •             
    • 設(shè)定是否允許客戶下載文件。若為 true 任何下載請(qǐng)求均會(huì)失敗,默認(rèn)值為 false 。
    •                             
    • List
    •             
    • 設(shè)定當(dāng)客戶請(qǐng)求可以使用的模塊列表時(shí),是否列出該模塊。若為 false,則創(chuàng)建隱藏的模塊。默認(rèn)值為 true 。
    •                             
    • fake super
    •             
    • 允許文件享有所有權(quán)限,而無需后臺(tái)服務(wù)以 root 權(quán)限進(jìn)行操作。
    •                             
    • Filter
    •             
    • 設(shè)置過濾列表以決定哪些文件可由客戶端訪問。
    •                             
    • hosts allow
    •             
    • 指定允許客戶連接的 IP 地址??梢詾閱蝹€(gè) IP 地址或整個(gè)網(wǎng)段。多個(gè) IP 或網(wǎng)段需要以空格隔開。默認(rèn)是允許所有主機(jī)連接。
    •                             
    • dont compress
    •             
    • 指定不進(jìn)行壓縮處理即可傳輸?shù)奈募?,默認(rèn)值是 *.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz
    •                             
    • pre-xfer exec, post-xfer exec
    •             
    • 設(shè)置可在文件傳輸前/后執(zhí)行的命令。若在文件傳輸前執(zhí)行的命令失敗,則取消本次傳輸操作。
    •             
    基本語法
          
    • 通過遠(yuǎn)程 shell 方式:
          
                
      • rsync [OPTION]  [USER@]HOST:SRC  DEST
      •         
      • 使用遠(yuǎn)程 shell(如 ssh, rsh)實(shí)現(xiàn)將遠(yuǎn)程機(jī)器的內(nèi)容拷貝到本地機(jī)器。 SRC 地址路徑中以單個(gè)冒號(hào) ":" 進(jìn)行分隔。
      •         
      • rsync [OPTION]  SRC  [USER@]HOST:DEST
      •         
      • 使用遠(yuǎn)程 shell(如 rsh、ssh)實(shí)現(xiàn)本地機(jī)器的內(nèi)容拷貝到遠(yuǎn)程機(jī)器。 DEST 地址路徑中以單個(gè)冒號(hào) ":" 進(jìn)行分隔。
      •     
          
    • 通過 rsync daemon 方式:
          
                
      • rsync [OPTION]  [USER@]HOST::SRC  DEST 或
      •         
      • rsync [OPTION]  rsync://[USER@]HOST[:PORT]/SRC  [DEST]
      •         
      • 從遠(yuǎn)程 rsync 服務(wù)器中拷貝文件到本地機(jī)。 SRC 地址路徑中以雙冒號(hào) "::" 進(jìn)行分隔。
      •         
      • rsync [OPTION]  SRC  [USER@]HOST::DEST 或
      •         
      • rsync [OPTION]  SRC  rsync://[USER@]HOST[:PORT]/DEST
      •         
      • 從本地機(jī)器拷貝文件到遠(yuǎn)程 rsync 服務(wù)器中。 DEST 地址路徑中以雙冒號(hào) "::" 進(jìn)行分隔。
      •     
    如果 rsync 命令中只指定 SRC 參數(shù)而不指定 DEST 參數(shù),則意為顯示源文件列表而非進(jìn)行同步拷貝。 rsync 有許多功能選項(xiàng),常用的選項(xiàng)如下:表 5. rsync 常用參數(shù)    
                  
    • 選項(xiàng)<-------------------->描述
    •             
    • -a, --archive<-------------------->歸檔模式,保持所有文件屬性,等同于 -rlptgoD
    •             
    • -v, --verbose<-------------------->詳細(xì)信息輸出
    •             
    • -r, --recursive<-------------------->對(duì)子目錄進(jìn)行遞歸處理
    •             
    • -R, --relative<-------------------->使用相對(duì)路徑信息
    •             
    • -b, --backup<-------------------->創(chuàng)建備份
    •             
    • -z, --compress<-------------------->對(duì)備份的文件在傳輸時(shí)進(jìn)行壓縮處理
    •             
    • --delete<-------------------->用于同步目錄,從 DEST 中將 SRC 不存在的文件進(jìn)行刪除
    •             
    • --progress<-------------------->顯示備份過程
    •             
    使用實(shí)例:
          
    • 查看服務(wù)端文件及列表    
                
      • # rsync 9.186.110.53::        查看服務(wù)端可用的模塊列表以及注釋信息        
      •         
      • # rsync ibmuser@9.186.110.53::www/        查看服務(wù)端 www 模塊中的目錄及文件列表(使用 rsyncd 用戶認(rèn)證方式)        
      •         
      • # rsync ibmuser@9.186.110.53:/var/www/html/        查看服務(wù)端 /var/www/html 目錄中的內(nèi)容(使用服務(wù)端的系統(tǒng)用戶進(jìn)行驗(yàn)證,如 ibmuser)        
      •     
          
    •     
    • 保持客戶端與服務(wù)端的數(shù)據(jù)同步    
                
      • # rsync -avz ibmuser@9.186.110.53::www/  /backup1/        使用后臺(tái)服務(wù)方式將服務(wù)端 www 模塊下的內(nèi)容備份到本地 /backup1 目錄中,備份時(shí)保留原有權(quán)限、屬性、屬主及符號(hào)連接等,并使用壓縮方式加快數(shù)據(jù)傳輸。        
      •         
      • # rsync – avz ibmuser@9.186.110.53:/var/www/html  /backup2/        使用 ssh 方式將遠(yuǎn)程的 /var/www/html 目錄備份到本地 /backup2/ 目錄下        
      •         
      • # rsync -avz --delete ibmuser@9.186.110.53::www/  /backup3/        將遠(yuǎn)程 www 模塊備份到本地 /backup3/ 目錄中,同時(shí)進(jìn)行同步目錄,刪除本地目錄中多余的文件。        
      •     
          
    當(dāng)服務(wù)端的數(shù)據(jù)出現(xiàn)問題時(shí),需要通過客戶端的數(shù)據(jù)對(duì)服務(wù)端進(jìn)行恢復(fù),只要客戶端有服務(wù)端的寫入權(quán)限,即可通過調(diào)換 rsync 命令的 SRC、DEST 參數(shù)進(jìn)行恢復(fù)。

          
    • 傳輸性能
    wget 通過支持后臺(tái)執(zhí)行及斷點(diǎn)續(xù)傳提高文件傳輸效率 ; rsync 則以其高效的傳輸及壓縮算法達(dá)到快傳輸?shù)哪康摹?ul>    
  • 配置難度
  • rcp 只需進(jìn)行簡單的配置,創(chuàng)建 .rhost 文件以及設(shè)置 /etc/hosts 文件中主機(jī)名與 IP 地址列表; wget  設(shè)置設(shè)置方便簡單,只需在客戶端指定參數(shù)執(zhí)行命令即可; rsync 在使用前需要對(duì)服務(wù)端 /etc/rsyncd.conf  進(jìn)行參數(shù)設(shè)定,配置內(nèi)容相對(duì)復(fù)雜。
          
    • 安全性能
    ftp、rcp 不保證傳輸?shù)陌踩?,scp、rsync 則均可基于 ssh 認(rèn)證進(jìn)行傳輸,提供了較強(qiáng)的安全保障。 wget 也可通過指定安全協(xié)議做到安全傳輸。通過上述的對(duì)比不難發(fā)現(xiàn),每種文件傳輸方法基于其自身的特點(diǎn)與優(yōu)勢均有其典型的適用場景:
          
    • ftp 作為最常用的入門式的文件傳輸方法,使用簡單,易于理解,并且可以實(shí)現(xiàn)腳本自動(dòng)化;
    •     
    • rcp 相對(duì)于 ftp 可以保留文件屬性并可遞歸的拷貝子目錄;
    •     
    • scp 利用 ssh 傳輸數(shù)據(jù),并使用與 ssh 相同的認(rèn)證模式,相對(duì)于 rcp 提供更強(qiáng)的安全保障;
    •     
    • wget,實(shí)現(xiàn)遞歸下載,可跟蹤 HTML 頁面上的鏈接依次下載來創(chuàng)建遠(yuǎn)程服務(wù)器的本地版本,完全重建原始站點(diǎn)的目錄結(jié)構(gòu),適合實(shí)現(xiàn)遠(yuǎn)程網(wǎng)站的鏡像;
    •     
    • curl 則適合用來進(jìn)行自動(dòng)的文件傳輸或操作序列,是一個(gè)很好的模擬用戶在網(wǎng)頁瀏覽器上的行為的工具;
    •     
    • rsync 更適用于大數(shù)據(jù)量的每日同步,拷貝的速度很快,相對(duì) wget 來說速度快且安全高效。
      讀者可在不同的場合根據(jù)實(shí)際需要,選擇適合的文件傳輸方法。

      本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
      轉(zhuǎn)藏 分享 獻(xiàn)花(0

      0條評(píng)論

      發(fā)表

      請(qǐng)遵守用戶 評(píng)論公約

      類似文章 更多