2016-03-06 74 views
0

我想创建一个脚本来收集关于ec2实例的信息(id,ip,os,users mb other如果需要的话),但是我需要帮助获取有关运行系统的信息 - 我认为从/ etc/os-release?关于yaml的第二个问题 - 是否可以像yaml一样将输出解析为data.txt? 请帮我添加OS信息,以DATA.TXT :)如何收集有关ec2实例的metadata/os信息?

#!/bin/bash 

URL="http://169.254.169.254/latest/meta-data/" 

which curl > /dev/null 2>&1 
if [ $? == 0 ]; then 
get_cmd="curl -s" 
else 
    get_cmd="wget -q -O -" 
fi 


get() { 
$get_cmd $URL/$1 
} 

data_items=(instance-id 
     local-ipv4 
     public-ipv4 
     ) 


yaml="" 

for meta_thing in ${data_items[*]}; do 
    data=$(get $meta_thing) 
    entry=$(printf "%-30s%s" "$meta_thing:" "$data\n") 
yaml="$yaml$entry" 
done 

echo -e "$yaml" > data.txt 

回答

0

也许添加

lsb_release -a >> data.txt 
uname -a >> data.txt 

到脚本结束