linux - 使用管道一次性完成 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/'
它们都不起作用。请告诉我如何做到这一点。
谢谢。
解决方案
您正在将 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"
推荐阅读
- qlikview - 从 qlik 中的总计数/总和中排除一维
- sql - 查询不喜欢返回奇怪的结果
- c# - 路径 /api/* 的控制器未找到或未实现 IController
- microsoft-translator - 更新或重新培训已部署的项目
- heroku - Heroku + Cloudflare DNS 设置 - “没有这样的应用程序”
- python - python从word docx读取标题
- javascript - 导入 .less 变量以在 React 样式组件中使用
- rust - 在遍历结构数组时访问结构的值
- python - 路由 celery 任务
- javascript - Vue-Router: Refresing(F5) 当前页面