Backup de um diretório remoto com duplicidade

5

É possível fazer backup de um diretório remoto para um caminho local?

Usando duas URLs no comando gera

Two URLs specified.  One argument should be a path.

Usando apenas um para o controle remoto, mas especificando a opção full

--full option cannot be used when restoring or verifying

O que eu tentei parece

duplicity full ssh://username@remote:XXXX/home/username /media/removabledrive/

com XXXX sendo uma porta personalizada para ssh.

    
por Alfred M. 01.10.2013 / 20:15

4 respostas

10

Por que não montar o caminho remoto na árvore do sistema de arquivos local usando sshfs, cifs, nfs ou alguma outra facilidade de sua escolha?

Se você fizer isso, poderá especificar dois caminhos locais para a duplicidade e ele não deverá notar que um dos caminhos está realmente em um nó remoto (certifique-se de escolher o sistema de arquivos remoto que exporta atributos como permissões, etc. da maneira que você quiser e também certifique-se de usar as opções de montagem corretas - o que é especialmente importante para o samba / cifs, já que seus padrões não são muito unix-ish).

Para um Debian ou derivados Debian (como o Ubuntu):

apt-get install sshfs

Então:

mkdir -p /mnt/remote &&
sshfs username@remote:/home/username /mnt/remote

Depois disso, faça o backup de /mnt/remote no seu caminho de backup local e, em seguida,

umount /mnt/remote

Confira também man sshfs para ver quais opções podem ser aplicadas ao seu caso de uso.

    
por 05.10.2013 / 17:17
3

A duplicidade não suporta fontes remotas, portanto não há como fazer isso sem truques como sugerido por @blubberdiblub.

Ele me decepcionou quando descobri o problema, embora eles não chamem isso de problema: link

    
por 03.12.2014 / 20:21
1

Pelo que entendi, o fornecimento de caminho remoto seguido por caminho local impõe a restauração de dados, que deve ser uma restauração completa por padrão.

O parâmetro "full" só é válido para fazer backups:

   full   Indicate full backup.  If this is set, perform full backup  even
          if signatures are available.

   incr   If  this  is  requested an incremental backup will be performed.
          Duplicity will abort if old signatures  cannot  be  found.   The
          default is to switch to full backup under these conditions.

Portanto, este comando: duplicity full /home/me scp://[email protected]/some_dir fará um backup completo de / home / me para host remoto / some_dir. Full / incr aplica-se apenas a fazer backups, não a restaurar.

Se você deseja restaurar apenas um determinado caminho, use:

- caminho do arquivo para restauração               Esta opção pode ser dada no modo de restauração, causando apenas o caminho para               ser restaurado em vez de todo o conteúdo do backup               arquivo. caminho deve ser dado em relação à raiz do               diretório de backup.

De acordo com a documentação aqui: link , o que acontece é:

When restoring, duplicity applies patches in order, so deleting, for instance, a full backup set may make related incremental backup sets unusable.

Além disso, a última observação sobre a parte "ssh: //". Tente usar o scp / sftp, conforme a documentação:

A NOTE ON SSH/SCP PROTOCOLS

   Duplicity specifies two protocol names for the same protocol.  This  is
   a  known  and  user-confusing issue.  Both use the same protocol suite,
   namely ssh through its' utility routines scp and sftp.  Older  versions
   of  duplicity used scp for get and put operations and sftp for list and
   delete  operations.   The  current  version  uses  sftp  for  all  four
   supported  operations, unless the --use-scp option is used to revert to
   old behavior.  The change was made to all-sftp in order  to  allow  the
   remote system to chroot the backup, thus providing better security.
    
por 04.10.2013 / 15:00
0

Olhando a documentação aqui: link  Parece que você deve divulgar isto:

duplicity full ssh://username@remote:XXXX//home/username /media/removabledrive/

Observe o duplo // depois do host: port

    
por 03.10.2013 / 23:09