ansible自动化部署

ansible通过模块实现批量管理及部署服务器,功能有模块实现

ansible无需在被控端安装agent/client,因为ansible是通过ssh分发ad-hoc(单条指令)或者palybook(剧本,也可认为多条指令的集合)

本次实验操作系统是centos7(1511),直接yum -y install ansible安装

主要配置文件是/etc/ansible/hosts 配置文件主要指定被控主机组,组里是主机IP地址 /etc/ansible/ansible.cfg配置文件是指定ansible被控端主机的端口与被控端主机运行控制端发送的指令是以哪个用户运行的

ansible有很多模块,通过这些模块可以对远端主机实现各种操作

模块:file  创建目录

ansible web -m file -a 'path=/app state=directory'  在主机组为web下创建目录/app

ansible web -m file -a 'path=/app state=directory state=absent'  删除目录 

          command  使用基础命令

ansible web -m command -a 'chdir=/app ls'           查看/app下面的文件,执行命令执行先切换到/app目录下

ansible web -m command -a 'creates=/app/f2 touch /app/f2' 判断主机是否有/app/f2这个文件,如果没有就执行后面的touch命令,如果有就不执行后面的命令

          shell  shell命令

ansible web -m shell -a 'cat /etc/passwd'  查看远端用户文件

          copy  从控制端复制文件到被控端

ansible web -m copy -a 'src=/root/f3  dest=/app/'  把控制端的/root目录下的f3文件复制到远端的/app目录下

          fetch 从远端获取文件到本地

ansible web -m fetch -a 'src=/app/f1 dest=/root/'  把被控制端的/app/f1文件拉取到本地的/root/目录下

          cron  为远端主机配置定时任务

ansible web -m cron -a "name='www.backup' minute=*/5 job=/usr/sbin/sh www.backup.sh " 配置远端定时任务,名字为www.backup,时间是每5分钟执行一次,任务是执行www.backup.sh脚本

         未完待续

未完待续

原文地址:https://www.cnblogs.com/allmdzz/p/10729394.html