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脚本
未完待续
未完待续