Eu uso rsync para criar regularmente instantâneos de alguns diretórios via
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,}
tal que $DEST contenha um instantâneo (hard-linking para o instantâneo anterior em $PREVIOUS ) e $DEST.changeset contenha um diffshot rudimentar, ou seja, apenas os arquivos que foram modificados ou criados (mas nenhuma informação sobre% simplesmv s ou remoção de arquivo). Para tornar os snapshots somente leitura, eu simplesmente tenho rsync use --chmod=a-w - as permissões originais não são tão importantes, já que é basicamente ug+w , mas eu me pergunto se existem outros meios mais eficientes para alcançar somente leitura status. De qualquer forma, minha principal questão é
How can the two calls
rsyncbe combined into one / sped up?