parallel(并行执行命令)工具

哈喽啊亲们,小橘今天给你们分享个工具,不知道家人们有没有用过这工具——并行执行命令(parallel)。大家有使用过同等功能的工具可以分享在评论区大家一起学习共同进步哈!

1. parallel(并行执行命令)的释意

  • parallel:这是一个用于并行执行命令的工具。主要用于在多个输入项上并行地执行相同或相似的命令。
    它会读取输入内容,并为每个输入项生成一个命令实例来执行。

1.1. 基本语法:

parallel [选项] 命令 {} 参数
# {} 是一个非常关键的占位符,代表从输入源(如文件、命令输出等)获取的每个输入项。

1.2. 安装 parallel 工具

1.2.1. apt-get 安装

apt-get update
apt-get install parallel

查看是否安装成功
which parallel
apt list --installed | grep parallel

 

1.2.2. 从源码编译安装

1、访问parallel的官方网站(https://www.gnu.org/software/parallel/)下载源码包
wget https://ftp.gnu.org/gnu/parallel/parallel - latest.tar.bz2
(注意版本可能会更新,这里以获取最新版本为例)
2、解压下载的源码包
tar -xvf parallel - latest.tar.bz2
3、进入解压后的目录
cd parallel - latest
4、运行./configure脚本
5、执行make命令进行编译
6、将编译好的parallel程序安装到系统
make install

1.3.示例

1.3.1.备份FRU

parallel 'echo {};ipmitool -I lanplus -H {} -U taobao -P 9ijn0okm fru print | tee /opt/newfru/{}-newfru.txt 2>&1' < ip.txt

 

1.3.2.修改BMC用户密码

parallel 'echo {};ipmitool -I lanplus -H {} -U taobao -P Admin@123 user set password 3 AliAISBmc_Bf3' < ip.txt

大家有好的示例可以分享在评论区一起探讨哈

 

 

在使用 parallel 工具的时候,我有一个想法,是否可以使用 parallel 工具实行批量分发密钥呢?以下是我写的一条命令

parallel 'ssh-keygen;ssh-copy-id {}' < /root/ip.txt

 

该命令我测试过,无法行的通,parallel 工具不支持产生交互的指令同时执行,parallel 工具主要用于并行执行非交互式命令,因为它设计的初衷是为了提高任务处理效率,尤其是在需要同时运行多个独立任务的情况下。批量分发密钥时会产生一个输入目标机器的密码,在使用 parallel 工具实行批量分发密钥时如何把该问题解决呢?

 

posted @ 2025-02-08 16:08  lala的小橘  阅读(628)  评论(0)    收藏  举报