Loading

Shell并行执行命令加速方法

需求

运维服务器需要把log拷到本地分析,
逐条scp太慢,希望并行执行。

思路

对于时序没有严格要求的命令,
使用&将每条指令后台运行,
无需等待上条结束继续执行下条。
最后配合wait等待全部执行完毕

实现

#!/bin/bash
for host in server{0..35}
do
(
scp user@$host:/tmp/log*.tar.gz ~/logs/
)&
done
wait
posted @ 2020-07-10 11:01  azureology  阅读(946)  评论(0编辑  收藏  举报