rsync 3.1.0 está criando diretórios de backup vazios

5

Acabei de notar que há uma discrepância entre a versão 3.0.9 e 3.1.0 do rsync.

Executando o comando

$ rsync -a --delete --backup --backup-dir=../old source/ dest/

com a versão 3.1.0 fornece a saída

Created backup_dir ../old/

mesmo quando nenhum arquivo é copiado para o diretório de backup. Eu costumo adicionar o horário atual ao nome do diretório de backup, o que significa que acabo com muitos diretórios vazios. Com a versão 3.0.9 do rsync, um diretório de backup só foi criado, se necessário.

Minhas perguntas são:

  1. Este é um comportamento pretendido e, em caso afirmativo, é possível suprimir a criação de diretórios de backup vazios?
  2. Posso instalar a versão 3.0.9 do rsync junto com a versão 3.1.0, de modo que um seja chamado de rsync309 e o outro rsync310, e então ter um alias ligando rsync a qualquer um dos dois (o que no meu caso significa que Eu continuaria usando o rsync 3.0.9 como eu achei esse novo comportamento irritante)?
por DustByte 15.08.2014 / 12:24

1 resposta

4

Sim, isso foi um comportamento pretendido. O Bug no 11423 foi arquivado e foi alterado novamente na versão 3.1.2.

link :

While I continue to like the new early verification of the top-level backup dir at the start of the transfer, I've been persuaded to have it go back to not creating the directory until it is needed. Fixed for upcoming 3.1.2 release.

Embora a maioria das distribuições não forneça pacotes para a versão 3.1.2, é realmente rápido e fácil de compilar: Eu fiz o seguinte no Debian Jessie, e correu tudo bem, instalando a nova versão em /usr/local/bin :

wget https://download.samba.org/pub/rsync/src/rsync-3.1.2.tar.gz
tar xvf rsync-3.1.2.tar.gz -C /tmp/
cd /tmp/rsync-3.1.2/
./configure
make
make install

Se você usá-lo como um daemon, seu script de inicialização pode chamá-lo por seu caminho completo, então você também pode querer substituí-lo por um link para a nova versão:

/etc/init.d/rsync stop
mv /usr/bin/rsync /usr/bin/rsync.old
ln -si ../local/bin/rsync /usr/bin/rsync
/etc/init.d/rsync start

Update: Se você estiver no Debian Jessie, você pode instalar o pacote rsync de Debian Stretch :

wget "http://ftp.ch.debian.org/debian/pool/main/r/rsync/rsync_3.1.2-1_amd64.deb"
dpkg -i rsync_3.1.2-1_amd64.deb
    
por 27.03.2016 / 15:11

Tags