我试图将一个目录打包成 tar 并通过 ssh 发送到另一台服务器,但我希望它以 tar 格式发送,而不是像以下脚本那样解压
tar -czf - Documents | ssh user@server tar -xzf - -C server_backup_directory/
答案1
不,这不是脚本所做的。它会存档并压缩目录;以 .tar.gz 格式发送;然后一旦到达目标服务器就对其进行解压缩。
因此,如果您不希望发生最后一部分,只需将解压缩命令更改tar -x
为不解压缩的命令,通常是cat
:
tar -czf - Documents | ssh user@server "cat > Documents.tar.gz"
(请务必使用引号,以便整个命令(包括>
重定向)在服务器上运行。)
答案2
改用scp
。
您正在运行的命令将按照您明确告诉它执行的操作解压缩文件。
例如scp
:
tar -czf Documents.tar Documents/ && scp Documents.tar user@server:. && rm -f Documents.tar