ansible
工作原理:
分成两大块
1、主机
2、ansible:
模块
主机清单
ssh
playbook
Ansible模块
ping模块
##测试纳管组中主机的存货率
ansible all -m ping
setup模块,
##获取主机信息
ansible-doc -s setup
command、shell模块
##是默认模块,不使用-m的话默认就是这个模块
ansible all -a 'date'
参数:
###chdir 执行命令前先进入的目录
aisible all -m command/shell -a 'ls -l chdir=/data'
###creates 判断文件是否存在,如果存在则不执行
ansible all -m command/shell -a 'touch /data/1.txt creates=/data/1.txt'
###removes 判断文件是否存在,如果存在则执行
ansible all -m command/shell -a 'rm -f /data/1.txt removes=/data/1.txt'
##free from 必须输入一个合理的命令
copy模块
将本地文件复制到纳管主机
参数:
###src 源地址
##backup(no/yes) 默认数据复制到远程主机会覆盖(yes将源文件备份)
##content 在文件中添加信息
##dest 目标地址
##owner、group、mode 设置权限
ansible all -m copy -a 'src=/data/1.txt dest=/data content=test owner=www group=www mode=755'
fetch模块
将远程主机文件复制到本地
参数
##src 源地址
##dest 目标地址
ansible all -m fetch -a 'src=/data/1.ttx dest=/data'
file模块
对文件进行创建修改删除等操作
参数:
##dest/path/name 选择需要操作的目录或者文件名称,由state定义是文件还是目录
##state(touch、directory、link、hard(硬)) 定义需要操作的path是文件还是目录,也可以是软硬连接
##src 当state是链接是,指定链接的源文件
##force 用于强制创建硬链接
ansible all -m file -a 'path=/data/a/b state=touch'
ansible all -m file -a 'path=/data/a/b state=dirtector'
ansibel all -m file -a 'path=/data/a/blink state=link src=/usr/local/1.txt'
yum模块
安装、卸载软件
参数
##name 软件名称
##state 安装/卸载 installed/removed
ansible all -m yum -a 'name=gcc state=installed'
service
对服务进行启动停止
参数
##name 服务名称
##enabled 自启
##state 执行命令
ansible all -m service -a 'name=nginx state=start enabled=yes'
mount
##fstype 文件系统类型
##opts 指定挂载信息
##path 挂载点
##src 设备
##state 动作(mount/umount/present)都会写入/etc/fstab,但是只有present不执行只写入
ansible all -m mount -a 'path=/media/cdrom src=/dev/sr0 fstype=os9660 state=mount/umount/present'