Como obter a opção --rsync-path para trabalhar com o daemon rsync

2

Atualmente, estou gravando um sistema de backup automático em python que sincronizará dinamicamente com diretórios específicos em um servidor, dependendo do usuário, da máquina e do sistema operacional em execução no momento.

Estou tentando fazer com que o seguinte comando funcione ao criar os diretórios user, system, os e sync, se eles ainda não existirem.

rsync -arvR --password-file=./rsyncdpw --rsync-path="mkdir -p /srv/backupdir/jim/desktop/Linux/sync/ && rsync" ./20160602BU user@server::backup/jim/desktop/Linux/sync/

Se os diretórios não existirem, nenhum diretório será criado e o comando falhará com:

  

enviando lista de arquivos incremental
  rsync: mkdir "/ jim / desktop / Linux / sync" (no backup) falhou: Nenhum arquivo ou diretório (2)
  Erro de rsync: erro no arquivo IO (código 11) em main.c (674) [Receiver = 3.1.1]

O comando funciona perfeitamente se os diretórios já existirem. Também obtive a opção --rsync-path funcionando bem quando não estou conectando ao daemon. O comando a seguir cria corretamente todos os diretórios e sincroniza os arquivos conforme o esperado.

rsync -rvR --rsync-path="mkdir -p /srv/backupdir/jim/desktop/Linux/sync/ && rsync" ./20160602BU jim@filesrv:/srv/backupdir/jim/desktop/Linux/sync/

O módulo de backup em rsync.conf para o daemon especifica / srv / backupdir como seu diretório, então eu tentei fazer apenas / jim / desktop / Linux / sync para elogiar isso, e eu também tentei o caminho absoluto . Ambas as abordagens falham com o mesmo resultado.

Eu tenho lutado com isso por alguns dias entre codificar outras partes do sistema. Eu quase terminei o sistema, mas eu bati em uma parede nesta parte.

Obrigado por qualquer ajuda que você possa oferecer.

    
por Umik 14.06.2016 / 03:30

0 respostas