Noo*_*oob 6 centos bash shell ubuntu bash-scripting
我有一个文件,我想在其中压缩并同时使用 scp 传输到另一台主机。
我尝试执行以下命令但失败了。我不介意稍后拉上拉链和 scp,但我只想知道我哪里弄错了
使用管道我错了吗?在这里?
-bash-3.2$ gzip -c aum.dmp | scp oracle@192.168.0.191:/export/home/oracle/aum.dmp.gz
Usage: scp [-pqrvBC46] [-F config] [-S program] [-P port]
[-c cipher] [-i identity] [-o option]
[[user@]host1:]file1 [...] [[user@]host2:]file2
Run Code Online (Sandbox Code Playgroud)
问候, 菜鸟
gzip 将写入 STDOUT,而 scp 无法处理。
尝试
gzip -c aum.dmp | ssh -l oracle 192.168.0.191 'cat > /export/home/oracle/aum.dmp.gz'
Run Code Online (Sandbox Code Playgroud)
反而。
在哪里
gzip -c aum.dmp | 将 gzip aum.dmp,并将结果发送到 stdout ssh -l oracle 192.168.0.191 将在 192.168.0.191 上连接到用户 oracle'cat > /export/home/oracle/aum.dmp.gz' 将执行此命令'猫> /export/home/oracle/aum.dmp.gz'
cat 将捕获标准输入(来自命令之前的标准输出 | )> /export/home/oracle/aum.dmp.gz 将写入此 /export/home/oracle/aum.dmp.gz执行 n 远程站点的 cat 部分的全部目的是捕获 gzip 结果。
如果您需要从远程服务器获取文件/目录到本地存档,您可以在 ssh 中使用tar + gzip,然后重定向到本地文件。例如:
ssh user@server "sudo tar cvzf - /var/log/containers/**/*.log" > containers_logs.tgz
Run Code Online (Sandbox Code Playgroud)
在哪里:
| 归档时间: |
|
| 查看次数: |
12213 次 |
| 最近记录: |