将大树从一台机器复制到另一台机器,维护所有权

Ric*_*ich 5 scp rsync file-copy

我正在尝试在机器之间复制大型文件夹结构。我想在复制过程中保持所有权/权利,因为之后“修复”privs 是不合理的。

因此,我使用以下命令对 privs 完整的文件进行 tar,并将数据传输到目标机器。两台机器上存在相同的用户。

tar cfzp - foldertocopy | ssh me@machine "cat > /applications/incoming/foldertocopy.tar.gz"
Run Code Online (Sandbox Code Playgroud)

传输工作正常,下一步是在远程机器上 su 到 root 并解压缩文件。

问题是:没有足够的磁盘空间来同时存储压缩和未压缩的数据

我可以使用 rsync/recursive scp,但我的用户无权使用正确的 privs 本身创建文件,root 无法远程登录。

我有哪些选择?源机器是 RHEL4,目标机器是 RHEL5。

Ans*_*ann 9

以 root 身份设置一个命名管道:

# mkfifo /tmp/fifo
# chmod o+w /tmp/fifo
Run Code Online (Sandbox Code Playgroud)

然后,将您的数据传输为me

$ tar cfzp - foldertocopy | ssh me@machine "cat > /tmp/fifo"
Run Code Online (Sandbox Code Playgroud)

但读作root

# tar -xfzp /tmp/fifo
Run Code Online (Sandbox Code Playgroud)