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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/afatgoat/article/details/76168184

为了可以将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:显示进程

其他参数,参考这个文章:How to Backup Linux? 15 rsync Command ExamplesEasy Automated Snapshot-Style Backups with Linux and Rsync


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

./bbouncer clean /Volumes/_dst


系统备份中不该备份的文件

由于OSX的HFS+的特殊性,有些文件不应该被备份,否则可能恢复后有问题。这些文件可以在bombich的文章中找到:Some files and folders are automatically excluded from a backup task

对于如何在备份中排除这些无用的文件,可以参考--excludes参数,以及这些例子:rsync_backup.shRsync --exclude List for Mac OS X


免费的备份工具可以参考: FreeFileSyncUnisonMac OS X Backup Utility
个人免费使用,并支持企业界别的: crashPlan

其它工具等:rsnapshot;也可以参考rsync主页中的说明


猜你喜欢

转载自blog.csdn.net/afatgoat/article/details/76168184