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
rsync
be combined into one / sped up?