centos ansible shell脚本一键安装-自动化运维

2021-04-08 11:17:21 浏览数 (2)

代码语言:javascript复制
#!/bin/bash
yum -y install epel-release                 # 安装epel源,从epel源安装高版本 ansible
yum list | grep ansible                     # 查看ansible的可用包
yum -y install ansible                      # 安装ansible
ansible --version                           # 查看 ansible版本
echo "
# 主配置文件:/etc/ansible/ansible.cfg
# 主机清单:/etc/ansible/hosts
# 三个主程序:ansible   absible-doc    ansible-playbook
"
echo "
[ansible]
43.255.28.59
43.255.30.187
[eisc]
47.95.216.170
43.255.28.59
" >> /etc/ansible/hosts                     # 添加被管控主机
ansible all --list                          # 列出所有主机列表
echo "# 生成密匙对:请一直回车"
ssh-keygen -t rsa                           # 生成密匙对:一直回车;其中id_rsa 是私钥,id_rsa.pub是公钥
echo "使用ssh秘钥分发至定义好的主机,实现免密登录;请先输入对方主机密码:"
ssh-copy-id -i /root/.ssh/id_rsa.pub root@43.255.28.59
ssh-copy-id -i /root/.ssh/id_rsa.pub root@43.255.30.187
# ansible用法: ansible [-m module_name] [-a args]
# :可为all,表示主机清单定义的所有主机,也可为单个ip地址,也可以使用主机清单中定义的主机组名,也可以指定多台主机
# -m:指定模块名称,常用模块有,copy,command(默认模块),cron,user,group,script,shell,setup(查看远程主机信息)
ansible-doc -l                             # 列出ansible所有模块
ansible-doc -s copy                        # 查看指定模块:copy模块
ansible eisc -m shell -a 'date;ls'         # 执行eisc工作组下的所有主机命令 date时间
ansible all -m group -a'name=mysql gid=306 system=yes'
                                           # 创建组
                                                                                   
ansible all -m user -a 'name=mysql uid=306 system=yes group=mysql'
                                           # 创建用户到组
                                                                                   
ansible web -m user -a 'state=absent name=user1'
                                           # 移除用户或用户组
                                                                                   
ansible 172.18.224.101 -m fetch -a 'src=/1.txt dest=/' 
                                           #远程拉取文件: src只能为文件,dest只能为目录
                                                                                   
wget https://github.com/fboender/ansible-cmdb/releases/download/1.30/ansible-cmdb-1.30.tar.gz
                                           # 下载
tar -xvf ansible-cmdb-1.30.tar.gz -C /usr/share/ansible/plugins
cd /usr/share/ansible/plugins/ansible-cmdb-1.30/ && make install
ansible -m setup --tree out/ all
ansible-cmdb out/ > overview.html
                                                                                        # 访问web

0 人点赞