ansible是一个自动化运维工具,基于python开发,实现了批量系统配置、批量程序部署、批量命令执行等功能;
2.安装只需要在客户端机器上安装ansible命令,无需每台服务器都安装。
安装命令:yum install -y ansible
编写一个inventory文件,文件名字可以随便定义,这里我们命名为hosts
,文件内容格式如下:
[all:vars]
ansible_ssh_passwd=xxxx #ssh访问密码
[ip_list] #需要操作的服务器IP列表
192.168.1.1
192.168.1.2
192.168.1.3
3.1.执行远程命令
ansible -i hosts ip_list -m shell -a "df -h"
ansible -i hosts ip_list -m script -a "start.sh"
#拷贝start.sh脚本到远程服务器并执行。
ansible -i hosts ip_list -m copy -a "src=/opt/sourcefile dest=/opt/targetfile"
当指定内容不存在则插入一行到文件末尾,如果存在则忽略不做任何操作:
ansible -i hosts ip_list -m lineinfile -a "path=/opt/test.txt line='test file update'"
替换文件中匹配正则的行成指定内容(line中的内容),如果多次匹配则只替换最后一次匹配行;当指定内容匹配不上则插入一行到文件末尾:
ansible -i hosts ip_list -m lineinfile -a "path=/opt/test.txt regexp='compress.type=*' line='test file update'"
删除文件中和指定内容相同的所有行:
ansible -i hosts ip_list -m lineinfile -a "path=/opt/test.txt line='test file update' state=absent"
删除文件中匹配正则的所有行:
ansible -i hosts ip_list -m lineinfile -a "path=/opt/test.txt regexp='compress.type=*' line='test file update' state=absent"