Ansible批量操作(上传文件、删除文件&指定文件内容、执行sh文件等)

官方网站

https://www.ansible.com/

一、Ansible 简介

1、Ansible是新出现的自动化运维工具,完全基于Python开发,集合了众多运维工具(puppet、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。

2、Ansible是基于 paramiko 开发的,并且基于模块化工作,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。ansible不需要在远程主机上安装client/agents,因为它们是基于ssh来和远程主机通讯的。ansible目前已经已经被红帽官方收购,是自动化运维工具中大家认可度最高的,并且上手容易,学习简单。是每位运维工程师必须掌握的技能之一。

3、Ansible的特点:

(1)部署简单,只需在主控端部署Ansible环境,被控端无需做任何操作;

(2)默认使用SSH协议对设备进行管理;

(3)有大量常规运维操作模块,可实现日常绝大部分操作;

(4)配置简单、功能强大、扩展性强;

(5)支持API及自定义模块,可通过Python轻松扩展;

(6)通过Playbooks来定制强大的配置、状态管理;

(7)轻量级,无需在客户端安装agent,更新时,只需在操作机上进行一次更新即可;

(8)提供一个功能强大、操作性强的Web管理界面和REST API接口------AWX平台。

二、Ansible工具安装

1、安装ansible
复制代码
yum install ansible -y

安装完成界面

2、查看版本&配置信息

ansible --version

rpm -qc ansible

说明:

|----------------------------|----------|
| /etc/ansible/ansible.cfg | 全局配置文件 |
| /etc/ansible/hosts | 全局主机清单文件 |

3、配置hosts

执行命令

vi /etc/ansible/hosts

增加待操作的服务IP及服务访问用户名及密码,保存并退出。如下图:

三、Ansible常见批量操作

  • 上传文件

示例:把当前linux机器的/data/user/yace/csv/b/目录下文件,拷贝到yunying 服务列表IP下data/user/yace/csv/b/目录下。

ansible yunying -m copy -a "src=/data/user/yace/csv/b/ dest=/data/user/yace/csv/b/"

  • 删除文件&删除文件中指定内容

示例1:删除文件。删除yunying 服务列表IP中/data/user/yace/csv/b/目录下所有文件。

ansible yunying -m shell -a "rm -f /data/user/yace/csv/b/*"

示例2:删除文件中指定内容。删除yunying 服务列表IP中/etc/hosts文件中 127.0.0.1 行信息。

ansible yunying -m shell -a "sed -i '/127\.0\.0\.1/d' /etc/hosts"

  • 执行sh文件

示例:批量执行yunying 服务列表IP中/data/user/yace/apache-jmeter-3.2/bin/目录下jmeter-serverstar.sh 文件,并打印日志。

ansible yunying -m shell -a "nohup /data/user/yace/apache-jmeter-3.2/bin/jmeter-serverstar.sh &"

  • 查看

示例:查看yunying服务列表IP中 jmeter 进程是否启动。

ansible yunying -m shell -a "ps -ef |grep jmeter "

相关推荐
cly117 分钟前
Ansible自动化(九):循环语句
windows·自动化·ansible
cly124 分钟前
Ansible自动化(十):配置文件管理模块(lineinfile / blockinfile)
运维·自动化·ansible
tyatyatya1 天前
Ansible自动化配置,从入门到实战
运维·自动化·ansible
lbb 小魔仙2 天前
【Linux】Ansible 自动化运维实战:2000+ 节点配置标准化教程
linux·运维·ansible
扑火的小飞蛾5 天前
【Ansible学习笔记01】 批量执行 shell 命令
笔记·学习·ansible
oMcLin5 天前
如何在 Red Hat Linux 服务器上使用 Ansible 自动化部署并管理多节点 Hadoop 集群?
linux·服务器·ansible
linux修理工8 天前
vagrant ubuntu 22.04 ansible 配置
ubuntu·ansible·vagrant
biubiubiu07069 天前
Ansible自动化
运维·自动化·ansible
秋42710 天前
ansible配置与模块介绍
ansible
秋42710 天前
ansible剧本
linux·服务器·ansible