如何同时高效地创建(只读)快照和差异快照?

如何同时高效地创建(只读)快照和差异快照?

我经常rsync通过以下方式定期创建某些目录的快照

PAR="-aP --chmod=a-w --no-owner"
# Create diffshot
rsync $PAR --compare-dest=$CURRENT_SNAPSHOT $SOURCE/ $DEST.changeset.incomplete
find $DEST.changeset.incomplete -type d -empty -delete
mv $DEST.changeset{.incomplete,}
# Create actual snapshot
LNK="--link-dest=$PREVIOUS --link-dest=$DEST.changeset"
rsync $PAR $LNK $SOURCE/ $DEST.incomplete
mv $DEST{.incomplete,}

这样$DEST包含一个快照(硬链接到上一个快照$PREVIOUS)并$DEST.changeset包含一个基本的 diffshot,即仅包含已修改或创建的文件(但没有有关简单mvs 或文件删除的信息)。为了使快照只读,我只需rsync使用--chmod=a-w- 原始权限并不那么重要,因为它基本上总是ug+w,但我想知道是否有其他更有效的方法来实现只读状态。无论如何,我的主要问题是

如何将两个调用rsync合并为一个/加速?

相关内容