1. 程式人生 > >macOS: rsync版本3.1.2安裝使用以及其他備份工具

macOS: rsync版本3.1.2安裝使用以及其他備份工具

為了可以將macOS系統自帶的低版本rsync升級到最新的3.1.2版,執行下面的命令來下載編譯和安裝:

cd ~/Desktop
curl -O https://download.samba.org/pub/rsync/src/rsync-3.1.2.tar.gz
curl -O https://download.samba.org/pub/rsync/src/rsync-patches-3.1.2.tar.gz
tar -xvf rsync-3.1.2.tar.gz 
tar -xvf rsync-patches-3.1.2.tar.gz
cd rsync-3.1.2
patch -p1 < patches/fileflags.diff
patch -p1 < patches/crtimes.diff
patch -p1 < patches/hfs-compression.diff
./configure
make
sudo make install
最後一句用於安裝到/usr/local/bin中

那三個patch專門用於針對Mac的更新。

其中:

fileflags - 用於處理保留mac檔案的st_flags stat標識 (參見sys/stat.h),以及-force選項的增強。

crtimes - 用於保留檔案的--crtimes (-N)

hfs-compression - 支援HFS+的壓縮功能

下圖說明了上面三個的增強功能:


檢測rsync用於備份的有效性的指令碼可以參考:Backup-Bouncer。它可以檢測下面的osx分割槽檔案的特性,如:permissions, timestamps, symlinks, symlink ownership, hardlinks, resource forks, finder flags, finder locks, create dates, BSD flags, extended attributes, HFS compression, and ACLs。具體使用是,先建立原和目標,在原上建立具有上述特性的檔案,備份後再校驗。比如:

./bbouncer create-vol _src
./bbouncer create-vol _dst
./bbouncer create /Volumes/_src/
rysnc --your-options /Volumes/_src/ /Volumes/_dst/
./bbouncer verify -d /Volumes/_src/ /Volumes/_dst/

我們這裡可以選擇的引數(--your-options):
-aNHAxX --hfs-compression --force-change --delete --fileflags
其中:

-a : 存檔模式,等同於-rlptgoD

-N:保留建立時間 (--crtimes)

-H:保留硬連結 (--hard-links)

-A:保留ACLs (--acls)

-x:不誇檔案系統(--one-file-system

-X:保留檔案的擴充套件屬性(--xattrs)

--hfs-compression:如果支援複製壓縮檔案的原檔案

--force-change:如果在目標檔案的更新和刪除操作中,先禁止使用者和系統的immutable標識,以防失敗

--delete:刪除目標上無關的檔案

--fileflags:保留檔案的標識,參見chflags命令

其他可以參考的引數:

-E:複製檔案的擴充套件屬性和resource forks。

--progress:顯示程序

最後使用下面的命令清除:

./bbouncer clean /Volumes/_dst

系統備份中不該備份的檔案

免費的備份工具可以參考:FreeFileSyncUnisonMac OS X Backup Utility
個人免費使用,並支援企業界別的:crashPlan

其它工具等:rsnapshot;也可以參考rsync主頁中的說明