Linux 自动化运维工具 ansible

Rhea ·
更新时间:2024-05-16
· 522 次阅读

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"


作者:杨仪军



运维工具 自动 运维 自动化 自动化运维 Linux 工具 ansible

需要 登录 后方可回复, 如果你还没有账号请 注册新账号