Можно ли сделать резервную копию удаленного каталога по локальному пути?
Использование двух 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