Provided by: manpages-zh_1.5.2-1_all bug

NAME

       mirror - 映射在遠端節點上的檔案

總覽 SYNOPSIS

       mirror [flags] -gsite:pathname mirror [flags] [package-files]

描述 DESCRIPTION

       Mirror     是以     Perl     所寫成的一套在執行它的機器與一台遠端主機     之間使用     ftp
       協定複製整個目錄架構及其內容的軟體。它藉由在             傳輸之前比較檔案時間(time-stamps)
       以及大小來避免拷貝不必要     的檔案。除此之外,它還可以選擇性地壓縮(compress,    gzip)以及
       分割(split)檔案。

       它是寫給檔案維護人員使用的但也可以讓任何想要經由 ftp 傳輸 大量檔案的人使用。

       無論如何叫用它,                 mirror                 總是執行相同的幾個基本步驟。它連線
       到遠端節點,在內部建立本地目標目錄(target                                 direction)的目錄
       列表,為遠端目錄建立一份目錄列表,比較它們,建立任何必須的
       子目錄,傳輸適當的檔案(設定它們的檔案時間以符合遠端節點上
       的檔案時間),建立任何符號鏈結,然後移除任何已不必要的物件 (objects) 最後並結束連線。

       Mirror                                  可以處理符號鏈結但並非原本的鏈結。它不會複製擁有者
       (owner)或是群組(group)的資訊。如果你需要這些選項其中的任何 一個,使用 rdist(1) 來取代它。

       Mirror 系以上面所列語法概述其中的一種方法呼叫執行。

       第一種方式是用來將一個遠端目錄擷取回現行目錄。如果你要映射 的是一個目錄,最好是以斜線('/')
       來結束路徑名稱這樣一來遠端  遞回列表(包含往下子目錄的列表)會比較小或者是使用   -r   旗標
       來禁止遞回(參閱下面所述的 -g 旗標)。這個方式將不會使用到 mirror.defaults 檔案。

       在上面所列語法概述的第二種方式裏,至少需要有一份最少數目的         參數而且         mirror
       是由從配置檔案(或標準輸入)裏讀取的設定所  控制。如果可以在   mirror   執行檔所在目錄或是
       PERLLIB      路徑裏      找到一個名為     mirror.defaults     檔案,那麼它會首先被載入。這
       用來為所有的配置檔提供一般化的預設值。

       Mirror 本來是為映射遠端 Un*x 系統的檔案而寫,但是它已逐漸 成長(like topsy)。

標記 FLAGS

       -d     啟動偵錯。如果下達這個參數超過一次,則偵錯層級將會 遞增。目前有用的最大層級是四。

       -ppackage
              只映射所給定的檔案包裹(package)。                                  此選項可下達多次
              在這種情形下所有給定的檔案包裹都將會映射。沒有這個
              選項的話,將映射所有的檔案包裹。檔案包裹   (package)    是一個符合相對於    package
              變數的正規表示式(regexp)

       -R     類似   -p   但是跳過所有的檔案包裹直到它找到給定的檔案   包裹為止。這對於從  mirror
              執行失敗而離開的地方重新 開始執行會有用。

       -n     除了比較本地以及遠端的目錄之外不做任何事,不會執行
              任何檔案傳輸。將偵錯層級設為二,所以你可以看到對於 將要執行之動作的追蹤。

       -F     使用暫存的                  dbm                  檔案以儲放關於檔案的資訊。如果你要
              映射一個非常大的目錄這會有用。參閱 use_files 這個 變數。

       -g     節點:路徑

       取得給定節點上的所有檔案。如果路徑符合                     .*/.+                      那麼
       它是目錄的名稱而後面的部份則是所要取得之檔案名稱的    樣板(pattern)。   如果路徑符合   .*/
       則它是目錄的名稱       而且其所有的內容都將會被擷取。另一方面路徑還是用       在       '/'
       的樣板。如果你使用        host:/fred       的話,那麼將作出       一份遠端主機上之       /
       的完整目錄列表。如果所有你想要 的是目錄 /fred 的內容,則指定 host:/fred/ 才是。

       -r     等於 -krecursive=false

       -v     印出 mirror 版本資訊細節並結束。

       -T     強制將任何本地檔案的時間重置成與遠端檔案相同。一般
              僅用於以已存在檔案內容之處初始一個映射區域的時候。

       -U [檔案名稱]
              把所有上傳的檔案記錄到所給的檔案名稱。記得       mirror       切換到      local_dir
              以執行其作業,所以它應該得是完整   (full)的路徑名稱。如果沒有給任何參數,其預設值為
              `pwd`/upload_log.day.month.year.

       -kkey=value
              蓋過任何預設關鍵字的值(key/value) 。

       -m     等於 -kmode_copy=true

       -t     等於 -ktext_mode=true

       -f     等於 -kforce=true

       -ssite 等於 -ksite=site

       -uuser 等於                  -kremote_user=user                 接著會提示你要求密碼,並且
              還會關閉本地回應(echo)以茲配合。這個密碼是用來設定 remote_password 用的。

       -L     只是產生一份輸入的美觀列表版本。

       -G     從遠端機器取得檔案。本地以及遠端目錄必須在命令列上 給定。(這個選項已經不再支援。)

       -P     把檔案放上遠端機器。本地以及遠端目錄必須在命令列上 給定。(這個選項已經不再支援。)

       -C filename
              指定配置檔案。配合 -P 以及 -G 選項之配置檔案之需。 (這個選項已經不再支援。)

檔案 Package Files

       配置檔會被剖析成一系列的敘述。空白行及以雜湊(hash)符號起始
       的行會被忽略。每個敘述的形式都是

       關鍵字=值

       或是

       關鍵字+值

       你可以在關鍵字以及等號/加號的前面加上空白字元。所有緊跟在
       等號/加號之後的每樣事物都是一個值,這包含任何開頭或結尾的
       空白字元。等號的版本會將關鍵字設定為該值,而加號的版本會將 該值連結到預設值的結尾上。

       一個敘述可以在除最後一行以外使用    ampersand('&')    字元作結束    以連續超過多行。尾隨在
       ampersand 之後的行,都會以移除所有 開頭空白字元的方式附加到目前所在行的後面。

       這裏是一份關鍵字的列表而且它們預設的值放在                 square                 brackets
       裏面列出。以星號標出的選項目前還沒有實作出來。

       雖然有很多關鍵字可以設定,內建的預設值將可處理大部分的情況 。一般只需要設定 package, site,
       remote_dir 以及 local_dir 即可。

       package
              對所要映射的檔案包裹而言應該得要是個唯一的 名稱。['']

       comment
              用在報告裏。['']

       skip   設定這個項目會使得該檔案包裹被跳過。此值會  被報告為跳過的原因。(這比   commenting
              the entry out 來得容易。)['']

       site   遠端節點的節點名稱或是 IP 位址。['']

       remote_dir
              所要映射的遠端目錄。參閱 recursed_hard。 ['']

       local_dir
              本地目錄。['']

       remote_user
              用在遠端節點的使用者名稱。[anonymous]

       remote_password
              用在遠端節點的密碼。[user@localhostname]

       get_patt
              所要擷取之遠端路徑名稱的正規表示式。[.]

       exclude_patt
              所要忽略之遠端目錄名稱的正規表示式。['']

       update_local
              把               get_patt               設為              local_dir/*。這在如果你只
              想要映射遠端檔案服務處中所選定的子目錄時會 有用。[false]

       local_ignore
              所要忽略之本地路徑名稱的正規表示式。對用來 跳過受限(restricted)的本地目錄有用。['']

       do_deletes
              如果目的(destination) 檔案不存在於來源樹中 (source tree)中則刪除之。[false]

       delete_patt
              檢查所要刪除之本地路徑名稱的正規表示式。不
              符合的名稱不會被檢查。所有以此樣板所選出的    檔案都會被檢查是否符合    delete_excl
              選項。 [.]

       delete_get_patt
              把 delete_patt 設為 get_patt。[false]

       delete_excl
              永不刪除之本地路徑名稱的正規表示式。['']

       save_deletes
              把本地檔案儲存到 save_dir 裏取代將其刪除。 [false]

       save_dir
              當本地檔案不存在於遠端節點的時候會被轉移到 此處。[Old]

       max_delete_files
              如果有超過此數的檔案會被刪除,則不進行刪除
              動作,只發出警告。若此值系以百分比字元作為
              結束的話則此值為取消刪除前之檔案的百分比。 [10%]

       max_delete_dirs
              如果有超過此數的目錄會被刪除,則不進行刪除
              動作,只發出警告。若此值系以百分比字元作為
              結束的話則此值為取消刪除前之檔案的百分比。 [10%]

       max_days
              如果 >0 的話,忽略比此日數更久以前的檔案。 任何被忽略的檔案將不會被傳輸或刪除。[0]

       split_max
              如果                     >0                      而且檔案的大小比此值大,該檔案會被
              切割以便本地儲存(檔案名稱同時也必須要符合 split_patt 選項)。[0]

       spilt_patt
              要儲存在本地前需先分割之遠端路徑名稱的正規 表示式。['']

       split_chunk
              檔案所要切割成的大小。[102400]

       ls_lR_file
              包含 ls-lR 的遠端檔案,否則執行遠端 ls 以 取得目錄列表。['']

       local_ls_lR_file
              包含 ls-lR 的本地檔案,否則使用遠端節點的 ls_lR_file 取代。這在第一次映射一個很大的
              檔案包裹時有用。['']

       recursive
              執行范圍包括子目錄。[true]

       recuese_hard
              必須對每一個子目錄執行 cwd 以及 ls 以產生  遠端  ls  結果。在這種情形下  remote_dir
              必須      是絕對的(從      /      開始)而非相對的。使用      ftp     裏的     pwd
              指令以找出遠端檔案區域之路徑開始 處。(如果 remote_fs 是 vms 則不可使用。) [false]

       flags_recursive
              傳送給遠端 ls 用以執行遞回列出的旗標。 ['-lRat']

       flags_nonrecursive
              傳送給遠端 ls 用以執行非遞回列出的旗標。 ['-lat']

       remote_fs
              遠端檔案儲存型態。處理  unix,  dls,  netware  vms,  dosftp,  macos,  lsparse   以及
              infomac。 細節參閱下面 FILESTORES 段落。[unix]

       vms_keep_version
              映射               vms               檔案時,保留版本編號。若為               false
              ,會抽離版本而只保留基本的檔案名稱。[true]

       vms_xfer_text
              要以文字模式(TEXT     mode)     傳輸之     vms     檔案的      樣板(忽略大小寫)。
              ['readme$|info$|listing$|.c$']

       name_mappings
              遠端到本地的路徑名稱對映(一個 perl s 指令 eg. s:old:new:)。['']

       external_mapping
              執行名稱對映的外部函式。['']

       get_newer
              如果遠端檔案的日期比本地的新則取回。[true]

       get_size_change
              如果檔案的大小與本地的不同則取回。如果檔案
              是在擷取時壓縮的,則其大小會自動地忽略掉。 [true]

       compress_patt
              儲存在本地之前要先壓縮之檔案的正規表示式。 參閱 get_size_change 選項。['']

       compress_excl
              不壓縮之檔案的正規表示式(忽略大小寫)。 [.(z|gz)$]

       compress_prog
              用來壓縮檔案的程式。如果設為             compress             或是             gzip
              這兩個字的話,則將會自動地設定完整的   路徑名稱以及正確的   compress_suffix(副檔名)
              。使用  gzip  的時候,會使用第九級  (gzip  -9)   壓縮。注意到可以在   compress_prog
              之後設定 compress_suffix 將其重設為非標準值。 [compress]

       compress_suffix
              壓縮程式附加到檔案後的字元。若壓縮程式選項      compress_prog      為      compress
              的話,則此預設值 為 .Z 。若 compress_prog 為 gzip 的話,則 此預設值為 .gz。['']

       compress_conv_patt
              如果 compress_prog 是 gzip 的話,符合這個 樣板的檔案會被解壓縮並在本地儲存前以 gzip
              重新壓縮。壓縮轉換只對 compress 到 gzip 此 轉換有意義。[(.Z|.taz)$]

       compress_conv_expr
              把副檔名從 compress 轉為 gzip 形式的 perl 表示式。[s/.Z$/.gz/;s/.taz$/.tgz/]

       compress_size_floor
              只壓縮比此數值小的檔案。[0]

       force_times
              強制要求本地時間符合遠端時間。[yes]

       retry_call
              如果初始連線失敗,一分鐘之後重試一次。這是
              用來處理一些反向找尋(lookup)進入(incoming)
              主機但有時會在第一次嘗試時超過時間的節點。 [yes]

       update_log
              檔案名稱,系相對於 local_dir 選項之設定值 ,此處會保留一份更新報告。['']

       mail_to
              將一份系統執行工作記錄寄給這個以逗點隔開之 列表上的人。['']

       user   給予本地路徑名稱之使用者名稱或使用者號碼。 ['']

       group  給予本地路徑名稱之群組名稱或群組號碼。['']

       file_mode
              給予本地建立之檔案的權限。[0444]

       dir_mode
              給予本地建立之目錄的權限。[0755]

       timeout
              在此秒數後結束 ftp 要求。[40]

       ftp_port
              遠端 ftp 伺服程式的埠號。[21]

       proxy  設為 1 以使用代理轉接(proxy)式的 ftp 服務 。[0]

       proxy_ftp_port
              代理服務之 ftp 伺服程式的埠號。[4514]

       proxy_gateway
              代理服務之名稱,也可用 INTERNET_HOST 變數 來提供。[internet-gateway]

       mode_copy
              指出是否需要拷貝模式位元(mode bits) 的旗標 。[false]

       interactive
              非批次(non-batch) 傳輸。系以 -g 旗標實作。 [false]

       text_mode
              如果為                      true                     的話,檔案以文字模式傳輸。Un*x
              較喜歡以二進位傳輸所以這是預設值。[false]

       force  如果為 true 的話,所有檔案都將被傳輸而不去 理會檔案的大小或時間。[false]

       get_file
              以執行 get 而非 put 作為預設。[true]

       verbose
              冗餘訊息。[false]

       delete_source
              一旦傳輸完成後刪除來源檔案。(此選項已不再 支援。)[false]

       disconnect
              檔案包裹結束後從遠端節點結束連線。[false]

       mail_prog
              呼叫執行以將信件寄送給  mail_to  列表的程式  。可以傳遞  mail_subject  參數。預設為
              mailx Mail, mail 或任何在你的系統上可用的東西。 ['']

       mail_subject
              mirror update ['-s]

       hostname Mirror
              自動地跳過節點名稱符合此主機的檔案 包裹。預設為本地主機名稱。['']

       use_files
              將 mirroe 所使用的 associative arrays 放到 暫存檔裏。[false]

       umask  預設不允許任何 setuid 的東西通過。[07000]

       remote_group
              如果存在則設定遠端 'site group' 。['']

       remote_gpass
              如果存在則設定遠端 'site gpass' 。['']

       remote_idle
              如果非空(not null),則嘗試並將遠端閒置計時 (idle timer)設為此值。['']

       make_bad_symlinks
              如果為  true 的話,將會把符號鏈結連到不允許 (不存在)的路徑名稱。舊版預設值為 true
              。 [false]

       follow_local_symlinks
              應該要跟從檔案或是目錄所指向處之路徑名稱的        正規表示式。這使得         mirror
              不能夠見到本地的 符號鏈結。['']

       get_missing
              確實取回檔案。當設為 false 的時候,只執行 刪除以及建立符號鏈結。用來刪除比 max_days
              更舊的過時檔案而不必擷取這些舊檔案。[true]

       每一組關鍵字定義如何映射一份特定的檔案包裹而且應該要以一行         唯一的          package
       開始。檔案包裹的名稱用在產生報告及                         -p                         參數
       上,所以應使用較具記憶性的名稱。定義每個檔案包裹所需的最小    需求是    package,     site,
       remote_dir 以及 local_dir 。一旦找到 一行 package 敘述,所有的預設值都會重設。

       如果          package         的名稱是         defaults         的話,則不會連線到任何節點
       去,但是所給任何關鍵字的預設值都會改變。一般而言所有的預設     值都在      mirror.defaults
       這個將會在任何 package 細節前自動 載入的檔案裏。

       # Sample mirror.defaults
       package=defaults
       # The LOCAL hostname - if not the same as `hostname` returns
       # (I advertise the name src.doc.ic.ac.uk but the machine is
       # really puffin.doc.ic.ac.uk.)
       hostname=src.doc.ic.ac.uk
       # Keep all local_dirs relative to here
       local_dir=/public/
       remote_password=ukuug-soft@doc.ic.ac.uk

       如果檔案包裹不是         defaults         的話,則         mirror         將會執行下列步驟
       。除非偵測出一個內部錯誤,任何錯誤都將會使得目前的檔案包裹 被跳過並且嘗試下一個。

       如果 mirror 並非已經連上該節點,它將會從任何已經連上的節點 離線並嘗試連線到遠端節點的  ftp
       伺服程式去。它接著將會使用   所給的遠端使用者名稱及密碼簽入。一旦連上,   mirror  開啟二進
       位傳輸模式。接下來它切換到所給的本地目錄並掃描之以取得已經
       存在的本地檔案的細節。如果必要,將會建立本地目錄。一旦這項
       作業完成,會以類似的方式掃描遠端目錄。   Mirror   系切換到遠端   目錄並執行    ftp    LIST
       指令,然後依據    recursive   選項的值傳遞   flags_recursive   選項或   flags_nonrecursive
       選項來完成。此外                也可以擷取一個包含有目錄列表的檔案。每一個遠端路徑名稱都將
       會執行任何指定的對映(mapping)   以建立本地路徑名稱。然後任何  由  exclude_patt,  max_days,
       get_newer 以及 get_size_change  關鍵字指定的檢驗都會施行在檔案或符號鏈結上。只有  exclude-
       patt 檢驗會施行在子目錄上。

       上述過程建立一份所有需要的遠端檔案以及要儲存它們之本地路徑 名稱的列表。

       一旦目錄列表完成,所有需要的檔案都會從遠端節點擷取到它們的
       本地路徑名稱。作法是把檔案擷取到目標目錄裏的暫存檔。如果有
       需要,暫存檔會被壓縮(compressed,                 gzip'ed)                 或是切割(或者是
       壓縮後再切割)。當傳輸成功後再把暫存檔改名。

檔案儲放 FILESTORES

       Mirror 使用遠端目錄列表以找出可以取得哪些檔案。 Mirror 本  來的目標是連線到  unix  的  ftp
       伺服程式使用標準的  ls  指令。  要使用於非標準 ls 的 unix 主機或非 unix 的主機上它必須要設
       remote_fs  變數以符合將會傳回(return)的目錄列表類型。此變數  (remote_fs)  與其它變數特別是
       flags_recursive,  recurse_hard  以及  get_size_change 之間有些交互作用。下列的節次將會秀些
       在不同檔案服務處執行         ftp         的          dir          指令所產生的結果以及相關
       變數的建議。在配合某些設定與眾不同的檔案服務處的時候你可能 必須變更此處所建議的變數設定。

       remote_fs=unix
       total 65
       -rw-r--r-- 1 ukuug ukuug 2245 Jun 28 20:06 README
       -rw-r--r-- 1 ukuug ukuug 61949 Jun 29 19:13 mirror-2.1.tar.gz

       這是預設值而且你應該不必重設任何其它變數。

       remote_fs=dls
       00index.txt 189916
       0readme 5793
       1_x/ = OS/2 1.x-specific files

       這是某些    unix   檔案服務處所使用的   ls   變化型。它在列表中提供   其所知項目的描述。把
       flags_recursive 設為 -dtR 即可。

       remote_fs=netware
       - [R----F--] jrd 1646 May 07 21:43 index
       d [R----F--] jrd 512 Sep 09 10:52 netwire
       d [R----F--] jrd 512 Sep 02 01:31 pktdrvr
       d [RWCE-F--] jrd 512 Sep 04 10:55 incoming

       這是  Novell  檔案服務處所使用的。把  recurse_hard  設為   true   並且把   flags_recursive
       設為空(nothing)的。參閱 remote_dir

       dosftp
       00-index.txt 6,471 13:54 7/20/93 alabama.txt 1,246 23:29 5/08/92
       alaska.txt 873 23:29 5/08/92 alberta.txt 2,162 23:29 5/08/92

       dosftp  是在  dos 上執行的一套 ftp 伺服程式。recurse_hard 設為 true 並且把 flags_recursive
       設為空(nothing)的。

       remote_fs=macos
       -------r-- 0 127 127 Aug 27 13:53 !Gopher Links
       drwxrwxr-x folder 32 Sep 9 16:30 FAQ
       drwxrwx-wx folder 0 Sep 9 09:59 incoming

       macos 是麥金塔(Macintosh) ftp 伺服程式的一個變化型。雖然此 輸出類似於 unix 但是 unix  這個
       remote_fs  型態無法應付它是  因為每個檔案有三個大小。把  recurse_hard  設為  true,  flags_
       recursive   設為空(nothing)的,get_size_change   設為   false    並    將    compress_patt
       設為空(最後這個設定是因為此不平常的檔案     名稱會擾亂執行壓縮的    shell    界面)。參閱
       remote_dir 設定。

       remote_fs=vms
       USERS:[ANONYMOUS.PUBLIC]

       1-README.FIRST;13 9 14-JUN-1993 13:09 [ANONYMOUS] (RWE,RWE,RE,RE)
       PALTER.DIR;1 1 18-JAN-1993 11:56 [ANONYMOUS] (RWE,RWE,RE,RE)
       PRESS-RELEASES.DIR;1
       1 11-AUG-1992 20:05 [ANONYMOUS] (RWE,RWE,,)

       alternatively:

       [VMSSERV.FILES]ALARM.DIR;1 1/3 5-MAR-1993 18:09
       [VMSSERV.FILES]ALARM.TXT;1 1/3 4-FEB-1993 12:20

       把 flags_recursive 設為 '[...]'  並將  get_size_change  設為  false。recurse_hard  在  vms
       上不能使用。除此之外還可以參閱 vms_keep_version 以及 vms_xfer_text 變數。

       remote_fs=infomac
              這個特殊型態僅在處理    sumexaim.stanford.edu    info-mac   目錄之   help/all-files
              有意義。recurse_hard 應該設為 true。

       remote_fs=lsparse
              允許開啟高階除錯方式重新剖析由 mirror 產生的列表。這只對於 mirror wizards 有用。

範例 EXAMPLES

       這裏是從 src.doc.ic.ac.uk 上來的 mirror.defaults 檔案:

       # This is the default mirror settings used by my site:
       # src.doc.ic.ac.uk (146.169.2.1)
       # This is home of the UKUUG Software Distribution Service

       package=defaults
       # The LOCAL hostname - if not the same as `hostname`
       # (I advertise the name src.doc.ic.ac.uk but the machine is
       # really puffin.doc.ic.ac.uk)
       hostname=src.doc.ic.ac.uk
       # Keep all local_dirs relative to here
       local_dir=/public/
       remote_password=ukuug-soft@doc.ic.ac.uk
       mail_to=
       # Don't mirror file modes. Set all dirs/files to these
       dir_mode=0755
       file_mode=0444
       # By default, files are owned by root.zero
       user=0
       group=0
       # # Keep a log file in each updated directory
       # update_log=.mirror
       update_log=
       # Don't overwrite my mirror log with the remote one.
       # Don't retrieve any of their mirror temporary files.
       # Don't touch anything whose name begins with a space!
       # nor any FSP or gopher files...
       exclude_patt=(^|/)(.mirror$|.in..*.$|MIRROR.LOG|#.*#|.FSP|.c
       ache|.zipped|lost+found/| )
       # Try to compress everything
       compress_patt=.
       compress_prog=compress
       # Don't compress information files, files that don't benefit
       from
       # being compressed, files that tell ftpd, gopher, wais... to
       do things,
       # the sources for compression programs...
       # (Note this is the only regexp that is case insensitive.)
       compress_excl+|^.notar$|-z|.taz$|.tar.Z|.arc$|.zip$|.lzh$|.z
       oo$|.exe$|.lha$|.zom$|.gif$|.jpeg$|.jpg$|.mpeg$|.au$|read.*me|index|.message|in
       fo|faq|gzip|compress
       # Don't delete own mirror log or any .notar files (incl in s
       ubdirs)
       delete_excl=(^|/).(mirror|notar)$
       # Ignore any local readme files
       local_ignore=README.doc.ic
       # Automatically delete local copies of files that the
       # remote site has zapped
       do_deletes=true
       Here are some sample package descriptions:
       package=gnu
       comment=Powerful and free Un*x utilities
       site=prep.ai.mit.edu
       remote_dir=/pub/gnu
       # Local_dir+ causes gnu to be appended to the default local_
       dir
       # so making /public/gnu
       local_dir+gnu
       exclude_patt+|^ListArchives/|^lost+found/|^scheme-7.0/|^.his
       tory
       # I tend to only keep the latest couple of versions of thing
       s
       # this stops mirror from retrieving the older versions I've
       removed
       max_days=30
       do_deletes=false

       package=X11R5
       comment=X Windows (windowing graphics system for Un*x)
       site=export.lcs.mit.edu
       remote_dir=/pub/R5
       local_dir+computing/graphics/systems/X11/pub/R5
       # This is a local symlink to the free-for-all contrib area
       # and is mirrored elsewhere
       local_ignore=^contrib$
       # Don't compress a thing. It is already compressed
       # but doesn't look it.
       compress_patt=

       package=cnews
       comment=The C News system
       site=ftp.cs.toronto.edu
       remote_dir=/pub/c-news
       local_dir+computing/usenet/software/transport/c
       compress_excl+|patches/PATCHDATES|WhereFrom

       # THIS IS JUST A TEST
       package=test vms site
       site=vmsbox.somewhere.ac.uk
       local_dir=/tmp/copy4
       remote_dir=vmsserv/files
       remote_fs=vms
       # Must do these settings for VMS
       flags_recursive=[...]
       get_size_change=false

       # and on, and on ...

提示

       要增加一個新的檔案包裹,首先打開 -n 選項檢查它。

       如果你要增加到一個已經存在檔案的地方,那麼通常最好是                                 force
       本地已經存在的檔案時間符合遠端的這樣將會執行與遠端檔案之間 的時間比較。

       嘗試並將所有從相同節點擷取的檔案包裹放在一起。使用這種方式 的話 mirror 將僅需簽入一次。

       記得所有的正規表示式都是 Perl 正規表示式。

       如果遠端節點包含你想展開("flatten  out")  到相對應檔案的符號 鏈結,那麼以改變傳送給遠端 ls
       旗標的方式執行之。
       flags_recursive+L
       或是
       flags_nonrecursive+L
       首先以在遠端節點的       ftp        指令下嘗試        ls        -lRatL        的方式來測試
       遠端檔案服務處是否有任何符號鏈結回圈。

       如果你正要映射一個非常大而不常改變的節點,等它初次映射後在      設定中加上      max_days=7
       選項。以此方式                            mirror                            在更新的時候僅
       需要注意最近的檔案。然後每個禮拜一次,或者是有必要的時候,  以  -kmax_days=-0  呼叫 mirror
       強制執行一次完整的更新。

       如果你不想壓縮從遠端節點取得的任何東西則最簡單的方法就是將  compress_patt  設為空(nothing)
       的。

       如果你想在映射一份檔案包裹後執行某個指令那麼有個有用的技巧          是將         mail_prog
       變數重設為程式的名稱並將 mail_to 重設為其 參數。

       對於  netware,  dosftp,  macos  以及  vms  而言一般你應該得要把  remote_dir  設為遠端  ftp
       伺服程式的 home 目錄。手動連線並 在切換到子目錄之前使用 pwd 指令找出 home 在哪裏。如果你僅
       想要映射整個檔案樹的一部份那麼應該在開頭處給定包含此 home 目錄的完整路徑名稱。

       macos 的名稱有時候會包含一些很難讓它們通過 un*x shells 的  字元。因為檔案壓縮是經由  shell
       執行最好設 compress_patt= 以便關閉壓縮。

       macos   檔案在傳輸時似乎無論如何其大小都會改變,不管是以二進  位或是文字模式。所以最好是設
       get_size_change=false 較佳。

網路觀念(NETIQUETTE)

       如果你要映射一個遠端節點,請遵守該節點管理者對於存取開節點
       所設的限制。你通常可以使用標準的                  ftp                 指令連到該檔案服務處
       。任何限制一般會作為簽入時的標題或是放在一個(希望是)明顯 的檔案裏。

       這裏是,我希望是,一些好的一般原則:

       只在本地以及遠端節點的工作時間以外映射節點。

       嘗試每天映射一個遠端節點超過一次可能是不友善的。

       在映射一個遠端節點之前,嘗試先從當地的檔案服務處尋找該檔案
       包裹,因為沒有人會高興你沒有必要地佔用許多網路頻寬。

       如果你有一個當地的檔案服務處,那麼請告訴別人它的存在讓他們       不必量費頻寬以及      CPU
       在遠端節點上。

       要記得在遠端節點改變其存取限制時檢查你的配置檔。

       定期檢查遠端節點是否有新的限制。

參閱 SEE ALSO

       perl(l), ftp(1), mm(1)

蟲蟲 BUGS

       某些網路觀念指引應該要強調。

       應該要能夠如同符號鏈結一般地應付鏈結。

       Suffers from creeping featurism.

注意 NOTES

       在 mirror 裏的物件比你所想的還要近!

作者 AUTHOR

       Written by Lee McLoughlin . It uses an extended version of the ftp.pl  package  originally
       by: Alan R. Martello which uses the chat2.pl pack- age by: Randal L. Schwartz

       Special  thanks to the following people for patches, com- ments and other suggestions that
       have helped to improve mirror. If I have omitted anyone, please contact me.

       James Revell Chris Myers Amos Shapira Paul A Vixie  Jonathan  Kamens  Christian  Andretzky
       Kean  Stump  Anita  Eijs  Simon E Sperro Aaron Wohl Michael Meissner Michael Graff Bradley
       Rhoades Edwards Reed Joachim Schrod David Woodgate Pieter Immelman Jost Krieger

       Copyright (C) 1999 《Best Linux》. All rights reserved. Revised: 99-11-28.

[中文版維護人]

       軟體教程

       最新的版本是mirror-2.9.7(20031118)
       因此您手上這份1996年的原始文件+1999年的翻譯也許不能滿足您的要求了。請登入
       http://sunsite.org.uk/packages/mirror/mirror.html 來參看原文。

[中文版最新更新]

       2001/01/01

《中國 Linux 論壇 man 手冊頁翻譯計劃》:

       http://cmpp.linuxforum.net

                                                                                        mirror(1)