首页 > 解决方案 > 使用管道一次性完成 Tar 和 Rsync

问题描述

我想用 tar 命令创建一个压缩文件并将输出文件同步到远程机器。我尝试了以下方法:

tar -cjvf etc.tar.bz /etc | rsync -r &1 user@remoteip:/home/user/

tar -cjvf etc.tar.bz /etc | rsync -r '{}' user@remoteip:/home/user/

tar -cjvf etc.tar.bz /etc | rsync -r '{}' 'user@remoteip:/home/user/'

它们都不起作用。请告诉我如何做到这一点。

谢谢。

标签: linuxpipetarrsync

解决方案


您正在将 tar 的结果传送到 rsync。不起作用。你可以试试:

tar -cjvf etc.tar.bz /etc ; rsync etc.tar.bz user@remoteip:/home/user/

或者如果您通过网络直接发送文件:

tar cjvf - /etc | ssh user@remoteip "cat > /home/user/etc.tar.bz"

推荐阅读