在维护Linux计算机的时候,可能会遇到这样的场景:远程计算机需要进行备份和清理,但磁盘空间快满了,没有足够的空间完成“tar备份打包”这样的操作了。

这时,基于 ssh 会话完成远程数据 tar 打包,通过 重定向 将数据备份到 ssh 客户端所在的磁盘上,就能完美地完成任务了。

基于 ssh 使用 tar 命令完成数据备份

ssh user@box tar czf - /dir1/ > /destination/file.tar.gz
ssh user@box 'cd /dir1/ && tar -cf - file | gzip -9' >file.tar.gz

将 tar 包释放到远程计算机上

cat my-data.tar.gz | ssh user@server1.cyberciti.biz "tar zxvf -"

参考: