Shell并行执行命令加速方法


需求

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

思路

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

实现

#!/bin/bash
for host in server{0..35}
do
(
scp user@$host:/tmp/log*.tar.gz ~/logs/
)&
done
wait


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM