macOS: rsync版本3.1.2安装使用以及其他备份工具
Posted afatgoat
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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:显示进程
其他参数,参考这个文章:How to Backup Linux? 15 rsync Command Examples;Easy 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.sh,Rsync --exclude List for Mac OS X等
个人免费使用,并支持企业界别的: crashPlan
其它工具等:rsnapshot;也可以参考rsync主页中的说明
以上是关于macOS: rsync版本3.1.2安装使用以及其他备份工具的主要内容,如果未能解决你的问题,请参考以下文章
如果我有应用程序的源代码以及 macOS 和 Windows 安装程序,我如何才能找到用于构建应用程序的 Node.js 版本?
Multipass中文文档-使用指引-在macOS上安装Multipass