mirror — 將遠端節點檔案鏡像至本地 (Perl 實作)
mirror [選項] -g 節點:路徑
mirror [選項] [設定檔]
透過 FTP 協定遞歸複製遠端目錄結構與檔案,**傳輸前比對時間戳與大小**,僅傳輸異動檔案。支援選擇性壓縮 (gzip)、分割大檔。適合鏡像站維護者或大量檔案傳輸需求。
支援符號連結處理,**不複製擁有者/群組資訊** (需完整保留屬性請用 rdist)。
mirror -g ftp.example.com:/pub/linux/
路徑以 / 結尾表示目錄及其所有內容;/pub/linux (無尾斜線) 視為根目錄下檔案樣板。
設定檔格式:關鍵字=值 或 關鍵字+值 (累加)。& 續行。常用關鍵字:
| 關鍵字 | 說明 | 預設值 |
|---|---|---|
| package | 鏡像包名稱 (唯一) | '' |
| site | 遠端主機名/IP | '' |
| remote_dir | 遠端目錄 | '' |
| local_dir | 本地目錄 | '' |
| remote_user | 登入帳號 | anonymous |
| remote_password | 登入密碼 | user@localhostname |
| get_patt | 擷取檔案 regex | . |
| exclude_patt | 排除目錄 regex | '' |
| do_deletes | 刪除本地端多餘檔案 | false |
| max_delete_files | 最大刪除檔案數/比例 (超過則警告不刪) | 10% |
| recursive | 遞迴子目錄 | true |
| 選項 | 說明 |
|---|---|
-d | 除錯模式 (可疊加至 level 4) |
-n | 試運行 (僅比對不傳輸),除錯等級設為 2 可見將執行動作 |
-p package | 僅鏡像指定 package |
-R | 跳過前序 package 從指定 package 繼續 (斷點續傳) |
-F | 使用 dbm 快取 (適合超大目錄) |
-k key=value | 覆蓋設定檔關鍵字值 |
-U [logfile] | 記錄上傳檔案日誌 |