通过 ssh tar 到 IPv6 主机

Lar*_*din 1 linux ipv6 tar

我想使用远程主机的 IPv6 地址 tar 到远程主机。我可以 ssh 和 scp 到主机,但 GNU tar 不接受 IPv6 地址。

我试过:

tar -cjvf root@2001:DB8::1234:5678:/backup.tar.bz2 *
Run Code Online (Sandbox Code Playgroud)

tar -cjvf root@[2001:DB8::1234:5678]:/backup.tar.bz2 *
Run Code Online (Sandbox Code Playgroud)

tar -cjvf root@\[2001:DB8::1234:5678\]:/backup.tar.bz2 *
Run Code Online (Sandbox Code Playgroud)

但这些都不起作用。所有这些都会导致 tar 的地址错误。我的 Ubuntu 系统有 tar 版本 1.25-3。

Jay*_*Jay 9

由于它通过 SSH 工作,您可以使用:

tar cjvf - /folder/to/backup | ssh root@ipv6 "cat > data.tar.bz2"
Run Code Online (Sandbox Code Playgroud)

  • tar 管道不会分配`pty`,因此`-e` 选项不适用(我使用默认的`~` 和`-ea` 进行了测试,它不会将任何一个视为转义字符)。 (3认同)