Назад | Перейти на главную страницу

Резервное копирование удаленного каталога с дублированием

Можно ли сделать резервную копию удаленного каталога по локальному пути?

Использование двух URL-адресов в команде вызывает

Two URLs specified.  One argument should be a path.

Используя только один для пульта, но с указанием full вариант повышения

--full option cannot be used when restoring or verifying

То, что я пробовал, похоже

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

где XXXX является настраиваемым портом для ssh.

Почему бы просто не смонтировать удаленный путь в дерево локальной файловой системы с помощью sshfs, cifs, nfs или других средств по вашему выбору?

Если вы это сделаете, вы можете указать два локальных пути к дублированию, и он не должен замечать, что один из путей на самом деле находится на удаленном узле (убедитесь, что вы выбрали удаленную файловую систему, которая экспортирует атрибуты, такие как разрешения и т. Д., Так, как вы хотите, а также убедитесь, что вы используете правильные параметры монтирования - что особенно важно для samba / cifs, поскольку его значения по умолчанию не очень unix-ish).

Для Debian или производных Debian (например, Ubuntu):

apt-get install sshfs

Затем:

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

После этого сделайте резервную копию из /mnt/remote на ваш локальный резервный путь, затем

umount /mnt/remote

Также проверьте man sshfs чтобы увидеть, какие параметры могут применяться к вашему варианту использования.

Duplicity не поддерживает удаленные источники, поэтому без уловок, подобных предложению @blubberdiblub, это невозможно.

Когда я обнаружил проблему, меня разочаровало, хотя они не называют это проблемой: https://answers.launchpad.net/duplicity/+question/143932

Насколько я понимаю, предоставление удаленного пути, за которым следует локальный путь, требует восстановления данных, которое по умолчанию должно быть полным.

Параметр "полный" действителен только для резервного копирования:

   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.

Итак, эта команда: duplicity full /home/me scp://uid@other.host/some_dir сделает полную резервную копию / home / me на удаленный хост / some_dir. Полный / incr применяется только к СОЗДАНИЮ резервных копий, но не к восстановлению.

Если вы хотите восстановить только определенный путь, используйте:

--file-to-restore path Эта опция может быть указана в режиме восстановления, при этом восстанавливается только путь, а не все содержимое архива резервных копий. путь должен быть указан относительно корня каталога, для которого создана резервная копия.

Согласно документации здесь: http://manpages.ubuntu.com/manpages/oneiric/man1/duplicity.1.html , что происходит:

При восстановлении дублирование применяет исправления по порядку, поэтому удаление, например, полного набора резервных копий может сделать связанные наборы дополнительных резервных копий непригодными для использования.

Также, последнее замечание о части "ssh: //". Попробуйте использовать scp / sftp, как указано в документации:

ПРИМЕЧАНИЕ ПО ПРОТОКОЛАМ SSH / SCP

   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.

Посмотрите документацию здесь: http://duplicity.nongnu.org/docs.html Похоже, вы должны выдать это:

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

Обратите внимание на двойное // после host: port