批量获取机器配置信息的脚本
HOSTS=(
)
passwd=
function check_sshpass_install(){
dpkg -s sshpass | grep -w "installed" &> /dev/null
result_sshpass=$(echo $?)
[[ ${result_sshpass} != "0" ]] && apt-get -y install sshpass &> /dev/null
}
check_sshpass_install
echo "本次操作机器共${#HOSTS[@]}台"
for host in ${HOSTS[@]};do
echo "============${host}正在处理==========="
cpu_type=$(sshpass -p ${passwd} ssh -o "StrictHostKeyChecking no" ${host} "lscpu"|awk '/Model name/{print $3,$4,$5,$6}')
kernel_version=$(sshpass -p ${passwd} ssh -o "StrictHostKeyChecking no" ${host} "uname -r")
sys_version=$(sshpass -p ${passwd} ssh -o "StrictHostKeyChecking no" ${host} "uname -v"|awk -F"[~| ]" '{print $2}')
gpu_version=$(sshpass -p ${passwd} ssh -o "StrictHostKeyChecking no" ${host} "nvidia-smi"|awk '/Driver Version/{print $6}')
gpu_type=$(sshpass -p ${passwd} ssh -o "StrictHostKeyChecking no" ${host} "nvidia-smi -L"|awk '{print $4,$5,$6}'|head -1)
gpu_num=$(sshpass -p ${passwd} ssh -o "StrictHostKeyChecking no" ${host} "nvidia-smi -L"|awk '{print $4,$5,$6}'|wc -l)
disk_info=$(sshpass -p ${passwd} ssh -o "StrictHostKeyChecking no" ${host} "lsblk")
echo "${host},${cpu_type},${kernel_version},${sys_version},${gpu_version},${gpu_type},${gpu_num}" >> server_info.csv
echo -e "${host}\n${disk_info}" >> disk_info.csv
done