脚本批量生成ansible inventory文件

windows的vars在hosts文件不生效,就写了个脚本批量的添加hosts,懒的花时间找资料

政务云每次推送主机都生成新的inventory文件,模版密码都一样,ip存放list.txt文件

#!/bin/bash

read -p "请输入系统版本[windows/linux]: " version

case $version in
	    windows )
                    echo "[windows]" > /etc/ansible/hosts
                    for ip in `cat list.txt`
                    do
	                echo "$ip ansible_ssh_user="Administrator" ansible_ssh_pass="模版密码" ansible_ssh_port=5985 ansible_connection="winrm" ansible_winrm_server_cert_validation=ignore" >> /etc/ansible/hosts
                    done
                    echo "/etc/ansible/hosts文件创建成功"
                    cat /etc/ansible/hosts
		;;
	    linux )
                    echo "[linux]" > /etc/ansible/hosts
                    for ip in `cat list.txt`
                    do
	                echo "$ip ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass='模版密码'" >> /etc/ansible/hosts
                    done
                    echo "/etc/ansible/hosts文件创建成功"
                    cat /etc/ansible/hosts
	    ;;
	    * )
		    echo "请输入系统版本[windows/linux]"
esac


猜你喜欢

转载自blog.51cto.com/junhai/2450165