我想从登录的 shell 中获取 tar 并将该 tar 文件带到远程主机,然后在那里提取 tar 文件。我有以下命令,但 tar 本身没有创建。
time=`date`
timestamp=`date +%F_%H%M`
backpfilename=db${timestamp}.tar.gz
cd /home/aryan/ && tar -cvzf $backupfilename | ssh root@remoteserver 'cd /home/aryantest/ && tar -xvzf $backpfilename'
Run Code Online (Sandbox Code Playgroud)
小智 9
您可以直接在另一端提取 tar 文件,而无需将其写入磁盘:
tar czv <files>| ssh root@remoteserver 'cat | tar xz -C /remotedir'
您甚至可以使用它netcat来复制文件。
如果你想要一个进度条,你可以使用pv它。它会将速度打印到标准输出,以便您可以检查它的复制速度:
tar czv <files> | pv | ssh root@remoteserver 'cat | tar xz -C /remotedir'
如果您已经拥有该 tar 文件,则可以使用pv它通过 ssh 进行管道传输:
pv backupfile.tgz| ssh root@remoteserver 'cat | tar xz -C /remotedir'
| 归档时间: |
|
| 查看次数: |
8398 次 |
| 最近记录: |