經過一年半的開發,Rsync 3.2.4 版本現已推出,這是一個檔案同步和備份實用程序,可讓您透過增量複製變更來最大程度地減少流量。 傳輸可以是 ssh、rsh 或專有的 rsync 協定。 它支援匿名 rsync 伺服器的組織,這最適合確保鏡像的同步。 專案代碼根據 GPLv3 許可證分發。
新增的變更包括:
- 提出了一種保護命令列參數的新方法,該方法類似於先前可用的“--protect-args”(“-s”)選項,但不會破壞 rrsync 腳本(受限 rsync)的操作。 保護歸結為在向外部命令解釋器發送請求時轉義特殊字符,包括空格。 新方法不會轉義引用區塊內的特殊字符,這允許您在檔案名稱周圍使用簡單的引號,而無需額外轉義,例如,現在允許命令“rsync -aiv host:'a simple file.pdf'” 」。 為了傳回舊的行為,建議使用「--old-args」選項和「RSYNC_OLD_ARGS=1」環境變數。
- 解決了根據當前區域設定(“,”而不是“.”)處理小數點字元的長期存在的問題。 對於設計為僅處理“.”的腳本在數字中,如果出現相容性衝突,您可以將區域設定設為“C”。
- 修正了 zlib 庫中包含的程式碼中的一個漏洞 (CVE-2018-25032),該漏洞在嘗試壓縮專門準備的字元序列時會導致緩衝區溢位。
- 實作了「--fsync」選項以在每個檔案操作上呼叫 fsync() 函數來刷新磁碟快取。
- rsync-ssl 腳本在存取 openssl 時使用「-verify_hostname」選項。
- 新增了“--copy-devices”選項以將裝置檔案複製為常規檔案。
- 增量傳輸大量小目錄時減少了記憶體消耗。
- 在 macOS 平台上,「—atimes」選項有效。
- 如果使用者有權更改存取權限(例如,以 root 身分執行時),則實作了以唯讀模式更新檔案的 xattrs 屬性的功能。
- 新增並預設啟用“--info=NONREG”參數以顯示傳輸特殊檔案的警告。
- rrsync(受限rsync)腳本是用Python重寫的。 新增了新選項“-munge”、“-no-lock”和“-no-del”。 預設情況下,啟用 --copy-links (-L)、--copy-dirlinks (-k) 和 --keep-dirlinks (-K) 選項的阻止,以使操縱目錄符號連結的攻擊更加困難。
- atomic-rsync 腳本已用 Python 重寫並擴展為忽略非零回傳程式碼。 預設情況下,當 rsync 運行時文件遺失時,代碼 24 將被忽略(例如,對於初始索引期間存在但在遷移時已刪除的臨時文件,將傳回代碼 24)。
- munge-symlinks 腳本是用 Python 重寫的。
來源: opennet.ru