Я хочу скопировать файловую систему storage/photos
от source
в destination
без включения входа по ssh от имени root. Я пробовал несколько различных комбинаций, таких как:
sudo zfs send -R storage/photos@frequent_2015-02-12_18:15 | ssh example.com sudo zfs recieve storage/photos
sudo zfs send -R storage/photos@frequent_2015-02-12_18:15 | ssh example.com su -c zfs recieve storage/photos
sudo zfs send -R storage/photos@frequent_2015-02-12_18:15 | ssh example.com 'sudo -S zfs recieve storage/photos <~/topsecret'
Я не могу использовать sudo -S для передачи пароля, так как поток zfs уже подключен к стандартному вводу. И два приведенных выше примера, которые ожидают интерактивный терминал, а не стандартный ввод.
Возможно, глупо не хотеть включать root на сервере. Но у злоумышленника остается еще одна вещь, чтобы угадать, что приятно.
sudo zfs allow myuser receive,create,mount tank/test2
Я до сих пор не могу выполнитьsudo zfs send -i snap1 tank/test@snap2 | zfs recv tank/test2
из-заPermission denied the ZFS utilities must be run as root.
ошибка. Похоже на то ZoL по-прежнему не поддерживаетzfs allow
,zfs allow
поддержка была только что добавлена в zfsonlinux (остаются некоторые ограничения, см. сообщение о коммите)Для тех, кто еще не обновился до 0.7.0, вот решение, которое я придумал. SSH на удаленный сервер и запустите:
Тогда локально:
pv
необязательно, конечно. Просто приятно что-то наблюдать за прогрессомНаконец, очистить трубу:
источник