【发布时间】:2023-04-02 14:47:01
【问题描述】:
我有一个小脚本,我将在其中获取每个 openstack 的租户并在 python 的帮助下获取一些输出。生成报告的时间太长,建议我使用xargs。我之前的代码如下所示。
#!/bin/bash
cd /scripts/cloud01/floating_list
rm -rf ./reports/openstack_reports/
mkdir -p ./reports/openstack_reports/
source ../creds/base
for tenant in A B C D E F G H I J K L M N O P Q R S T
do
source ../creds/$tenant
python ../tools/openstack_resource_list.py > ./reports/openstack_reports/$tenant.html
done
lftp -f ./lftp_script
现在我已将 xargs 放入脚本中,脚本看起来像这样。
#!/bin/bash
cd /scripts/cloud01/floating_list
rm -rf ./reports/openstack_reports/
mkdir -p ./reports/openstack_reports/
source ../creds/base
# Need xargs idea below
cat tenants_list.txt | xargs -P 8 -I '{}' # something that takes the tenant name and source
TENANT_NAME={}
python ../tools/openstack_resource_list.py > ./reports/openstack_reports/$tenant.html
lftp -f ./lftp_script
在这个脚本中我应该如何实现source ../creds/$tenant?因为在处理每个租户时,它也需要被采购,我不确定如何将它包含在 xargs 中以进行并行执行。
【问题讨论】:
标签: python bash openstack xargs