Linux 自动化运维工具 ansible

1.简介

ansible是一个自动化运维工具,基于python开发,实现了批量系统配置、批量程序部署、批量命令执行等功能;

2.安装

只需要在客户端机器上安装ansible命令,无需每台服务器都安装。
安装命令:yum install -y ansible

3.使用

编写一个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"

3.2.执行远程脚本

ansible -i hosts ip_list -m script -a "start.sh"#拷贝start.sh脚本到远程服务器并执行。

3.3.分发文件到远程服务器

ansible -i hosts ip_list -m copy -a "src=/opt/sourcefile dest=/opt/targetfile"

3.4.修改文件内容

3.4.1.插入或者替换文件内容

  • 当指定内容不存在则插入一行到文件末尾,如果存在则忽略不做任何操作:
    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'"

3.4.2.删除文件内容

  • 删除文件中和指定内容相同的所有行:
    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"

发布了12 篇原创文章 · 获赞 16 · 访问量 370

猜你喜欢

转载自blog.csdn.net/yangyijun1990/article/details/105613519