我们在 app00、app01 等服务器上多次部署了一个应用程序。我需要将所有这些服务器中的单个日志文件复制到我的本地 mac 上,以便我可以执行一些 grepping 和剪切。
我使用 csshX 来查看此文件,但找不到 scp 的等效项。我基本上想要两件事:
我该怎么做呢?
ter*_*don 18
这与一个小脚本无关。例如:
for server in app0 app1 app4 app5 appN; do
scp user@$server:/path/to/log/file /local/path/to/"$server"_file
done
Run Code Online (Sandbox Code Playgroud)
以上将依次从每个服务器复制文件并将其命名为SERVERNAME_file. 因此,来自的文件app0将是app0_file等。您显然可以将名称更改为您想要的任何名称。
win*_*ner 12
使用GNU 并行:
parallel -j0 scp {}:/remote_path file_from_{} ::: host1 host2 host3 # and so on
Run Code Online (Sandbox Code Playgroud)
与使用 a 的解决方案不同for,这将并行运行所有下载
remote_path="/path/to/file"
local_target_dir="/path/to/dir"
hosts=(app00 app01)
for host in "${hosts[@]}"; do
scp "$host":"$remote_path" "$local_target_dir"/filename."$host"
done
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12508 次 |
| 最近记录: |