tar через ssh на хост IPv6
Я хочу использовать tar для удаленного хоста, используя IPv6-адрес удаленного хоста. Я могу ssh и scp на хост, но GNU tar не принимает адрес IPv6.
Я старался:
tar -cjvf root@2001:DB8::1234:5678:/backup.tar.bz2 *
а также
tar -cjvf root@[2001:DB8::1234:5678]:/backup.tar.bz2 *
а также
tar -cjvf root@\[2001:DB8::1234:5678\]:/backup.tar.bz2 *
но ничего из этого не работает. Все они дают ошибки адреса из tar. Моя система Ubuntu имеет версию tar 1.25-3.
3 ответа
Я нашел ответ (на самом деле уже был ответ, прежде чем спрашивать, но подумал, что это поможет другим, и я кое-чему научился). Разбить tar и ssh на два разных шага сработало.
tar cvjf - * | ssh root@2001:DB8::1234:5678 "dd of=/backup/backup.tar.bz2"
Примечание: я попытался использовать cat вместо dd, но cat у меня не сработал - tar выдавал ошибки записи. Может быть, если бы я использовал аутентификацию по ключу ssh вместо пароля, это сработало бы.
Ссылка:
http://www.astrouw.edu.pl/~jskowron/tar-ssh/
http://www.cyberciti.biz/faq/howto-use-tar-command-through-network-over-ssh-session/
Поскольку он работает по SSH, вы можете использовать:
tar cjvf - /folder/to/backup | ssh root@ipv6 "cat > data.tar.bz2"
Я думаю, что вы вменяете полномочия смолу, которых на самом деле нет. Нет версии tar
к которому я имею непосредственный доступ, предполагает, что -f
Флаг принимает аргумент, который является парой удаленного пользователя / машины.
Не могли бы вы сказать, почему вы думаете, что это будет работать?