I'm putting together a deployment script which tars up a directory of my code, names the tar file after the current date and time, pushes that up to the server, untars it in a directory of the same name and then swaps a "current" symlink to point at the new directory.
Pessoalmente, acho que você deveria pular o uso de tar e, em vez disso, olhar o recurso --link-dest ou --copy-dest de rsync . A função de link-dest é muito legal, ele saberá olhar para a sincronização anterior do diretório, e se os arquivos forem idênticos, eles irão dificultar a vinculação entre eles, ignorando a necessidade de retransferir o arquivo toda vez.
mkdir -p /srv/codebackup/2009-10-12 \
/srv/codebackup/2009-10-13
# first backup on 10-12
rsync -a sourcehost:/sourcepath/ \
/srv/codebackup/2009-10-12/
# second backup made on 10-13
rsync -a --link-dest=/srv/codebackup/2009-10-12/
sourcehost:/sourcepath/ \
/srv/codebackup/2009-10-13/
Sua segunda execução do rsync só transferirá arquivos alterados. Arquivos idênticos serão vinculados em conjunto. Você pode excluir a árvore mais antiga e o novo backup ainda estará 100% concluído. Você economizará muito espaço de armazenamento, já que não manterá várias cópias de arquivos idênticos.