Ansible - 模块 - shell】的更多相关文章

概述 ansible 的 shell 模块 准别 ansible 控制节点 ansible 2.8.1 远程节点 OS CentOS 7.5 无密码登录 已经打通 1. 模块 概述 ansible 功能的具体实现 模块 本质 ansible 携带的 功能模块 lib 不同的 模块, 实现了不同的功能 模块通常的作用 操作系统资源 执行系统命令 操作系统文件 如果没有理想的模块, 当然可以自己写 2. shell 概述 执行 shell 命令的模块 比较基础 有些缺点 建议用 command 模块…
命令: ansible -i hosts_20 st  -m shell -a 'service zabbix_agentd star'  -K --become ansible -i hosts_20 st  -m shell -a 'lsof -i:10050'  -K --become 在shell模块报错:| FAILED | rc=127 >>/bin/sh: lsof: command not found 在command模块报错:| rc=2 >>[Errno 2]…
简介 环境: ansible端: ip:192.168.100.129 hostname:node1.lansgg.com client端: ip:192.168.100.131 hostname:v2.lansgg.com ip:192.168.100.132 hostname:v3.lansgg.com [root@node1 ansible]# pwd /etc/ansible [root@node1 ansible]# cat hosts [testservers] 192.168.10…
一,ansible的shell模块和command模块的区别? shell模块:在远程主机上执行主控端发出的shell/python脚本 command模块:不能调用shell指令,没有bash的环境变量,也不能使用shell的一些操作,在遇到"<",">","|","&"将会终止. 它不支持变量.重定向.管道符等,这些操作需要用shell模块执行. 说明:刘宏缔的架构森林是一个专注架构的博客,地址:htt…
ansible模块: 模块(Modules),类似于 "任务插件"("task plugins")或"库插件"("library plugins")的东西. 模块 可以单独的被ansible命令调用:也可以在palybook的每个任务中被执行. 每个模块都能接收参数(arguments),绝大部分arguments的格式是key=value,用空格隔开. 一些如 ansible servers -m command -a &q…
Ansible对远程服务器的实际操作实际是通过模块完成的,其工作原理如下: 1)将模块拷贝到远程服务器 2)执行模块定义的操做,完成对服务器的修改 3)在远程服务器中删除模块 需要说明的是,Ansible中的模块是幂等的.也就是说,多次执行相同的操作,只有第一次会起作用.这也是在编写自定义Ansible模块的需要注意的地方. Ansible提供了大量的模块,ansible-doc命令用于在命令行查看模块列表,也可以使用该工具在命令行获取模块帮助信息 ansible-doc -l 下面命令用户获取…
ansible笔记():ansible模块的基本使用 在前文的基础上,我们已经知道,当我们使用ansible完成实际任务时,需要依靠ansible的各个模块,比如,我们想要去ping某主机,则需要使用ping模块,命令如下 ansible all -m ping 前文说过,除了ping模块,ansible还有很多模块可供我们使用,那么ansible都有哪些模块呢?我们可以使用如下命令,查看ansible都有哪些模块. ansible-doc -l 执行上述命令后,可以看到ansible中各个模块…
前面的安装报错信息 ansible模块安装报错:Could not install packages due to an OSError: [Errno 2] No such file or directory:先升级pip版本,如果不指定国内源,容易更新失败(venv) D:\python_mcw\venv\Scripts>D:\python_mcw\venv\Scripts\python.exe -m pip install --upgrade pip -i https://pypi.tun…
前戏 ansible 批量在远程主机上执行命令 openpyxl 操作excel表格 puppet ansible slatstack ansible epel源 第一步: 下载epel源 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo 第二步: 安装ansible yum install -y ansible salt 控制节点需要安装salt-master salt 被控节点需要安装s…
ansible  XXX  -m shell -a   "XXX"…
A a10_server 管理A10 Networks AX / SoftAX / Thunder / vThunder设备 a10_service_group 管理A10网络设备的服务组 a10_virtual_server 管理A10网络设备的虚拟服务器 acl 设置和检索文件ACL信息. add_host 将主机(以及组)添加到ansible-playbook内存库存中 airbrake_deployment 通知airbrake有关应用程序部署的信息 alternatives 管理常用命…
1. #vim /etc/ansible/yaml/back.yml - hosts: siyi tasks: - name: "yum rsync" yum: name=rsync state=installed - name: "配置rsync模块" copy: backup=yes src=/etc/rsyncd.conf dest=/etc/rsyncd.conf - name: "创建rsync用户" user: name=rsync…
ansible的功能: 模块化任务,调用特定的模块,完成特定的任务 基于python语言实现,由paramiko.pyyaml和jinja2三个模块构建 部署简单,agentless,ansible基于ssh协议实现的 主从模式 支持自定义模块 支持playbook 允许重复执行 ansible的安装,ansible提供的rpm包在epel源上 note:epel源安装 cd /etc/yum.repos.d wget http://mirrors.neusoft.edu.cn/epel/epe…
ansible-doc -l    列出所有模块 ansible-doc 模块名    查看模块的help说明 ansible-doc -s  module_name:获取指定模块的使用信息 ***文件管理模块*** (1)copy 管理机复制到节点 ansible test -m copy -a "dest=/tmp src=/root/test.txt force=yes"    #dest目的地,src源文件,force=yes覆盖文件 (2)fetch 节点复制到管理机 ans…
ansible相关模块 yum rpm 和yum 的区别 rpm:全称redhat package manager (红帽包管理器) 不能解决包之间的依赖关系 yum:可以解决依赖关系 yum 源配置 [root@localhost ~]# cat /etc/yum.repos.d/epel.repo [epel] name=Extra Packages for Enterprise Linux 7 - $basearch #名字 baseurl=http://mirrors.aliyun.co…
1.fetch模块, 将远程机器上的文件拉取到本地,以ip或者主机名生成目录,并保留原来的目录结构,与copy模块的功能相反. 主要参数 : dest  --  目标地址 src -- 源地址 例子 : ansible web -m fetch -a "dest=/tmp src=/var/log/cron"     #表示把远程主机上/var/log/cron下的文件copy到本机的/tmp下. 2.yum模块 首先,linux自带的yum有其自身的功能 : linux中yum源的配…
[简单介绍] Ansible是一种agentless(基于ssh),可实现批量配置.命令执行和控制,基于Python实现的自动化运维工具. 有以下两个特性: 模块化:通过调用相关模块,完成指定任务,且支持任何语言编写的自定义模块 playbook:剧本,可根据需要一次执行完剧本中的所有任务或某些任务 本次主要介绍ansible的基本模块. [command] 在远程主机上执行命令. 不加 -m 选项的时候,默认执行command. 相关参数: chdir 在此目录下执行命令 creates 指定…
常用模块详解 模块说明及示例: 1.ping模块ping模块 主要用于判断远程客户端是否在线,用于ping本身服务器,返回值是changed.ping示例 ansible clu -m ping 2.Ansible command模块是Ansible默认模块 主要用于执行Linux基础命令,可以执行远程服务器命令执行.任务执行等操作.但command模块不支持变量.重定向.管道符等,这些操作需要用shell模块执行command模块使用详解:chdir:执行命令前,切换到目录creates:当该…
模块一:setup(收集远程主机信息) [root@zabbix30 /]# ansible test -m setup 模块二:ping(测试主机是否在线) [root@zabbix30 /]# ansible test -m ping 模块三:shell(可以使用特殊字符) 注:file copy user yum service 几个模块其实可以直接使用shell模块进行操作 [root@zabbix30 /]# ansible test -m shell -a 'useradd -M -…
ansible-doc的使用 1.ansible-doc -h可以看见ansible-doc的所有参数 2.ansible-doc 命令格式:ansible-doc [-l|-F|-s] [options] [-t <plugin type> ] [plugin] 2.1 -j #以json的方式返回数据 2.2 -l, --list #列出所有的模块 2.3 -s, --snippet #以片段式显示模块信息 3.ansible-doc -s 模块名字    以片段的形式查询模块的信息,如a…
copy模块: 目的:把主控端/root目录下的a.sh文件拷贝到到指定节点上 命令:ansible 10.1.1.113 -m copy -a 'src=/root/a.sh dest=/tmp/' file模块: 目的:更改指定节点上/tmp/t.sh的权限为755,属主和属组为root 命令:ansible all -m file -a "dest=/tmp/t.sh mode=755 owner=root group=root" cron模块: 目的:在指定节点上定义一个计划任…
示例: # Example that prints the loopback address and gateway for each host - debug: msg="System {{ inventory_hostname }} has uuid {{ ansible_product_uuid }}" - debug: msg="System {{ inventory_hostname }} has gateway {{ ansible_default_ipv4.ga…
示列: sshd_set.yaml --- - hosts: test remote_user: root gather_facts: False tasks: - name: set hostname lineinfile: dest=/etc/sysconfig/network backrefs=yes regexp='^(HOSTNAME=).*' line='\1{{ inventory_hostname }}' notify: reboot handlers: - name: rebo…
[root@node1:/etc]# tree /etc/ansible/ /etc/ansible/ ├── ansible.cfg ├── hosts ├── python.yml └── roles └── python_install ├── files │   └── Python-.tgz ├── tasks │   ├── copy.yml │   ├── install.yml │   └── main.yml └── templates └── python_install.s…
一. 设计出发点 因公司业务面临频繁的迭代上线,一日数次.仅仅依靠手工效率过低且易出错. 考虑搭建一套可以满足现有场景的上线系统. 二 .为何采用ansible+shell方式 1.可控性(完全自主拥有,不涉及版权) 2.稳定性(底层脚本,只要脚本固定测试成功,后期稳定) 3.灵活性 (可根据业务系统变化随时做出修改以满足业务发展需要) 注:公司测试环境已经使用了JENKINS作为内网持续部署使用,(生产环境没有采用JENKINS是因为插件多,频繁升级插件.若不及时升级跨版本太多有时会报错,维护…
一.模块简介 ios_command此模块将任意命令发送到ios节点并返回设备读取的结果 此模块不支持在配置模式下使用,即只支持在用户模式>和特权模式#下使用 官方文档地址:https://docs.ansible.com/ansible/latest/modules/ios_command_module.html#ios-command-module 二.模块参数 auth_pass #进入特权模式使用的密码,如果authorize=no,则不检索此特权密码: #如果authorize=yes…
一.模块简介 收集运行IOS系统的(此处指思科的ios)的远端设备信息 二.模块参数 auth_pass #特权密码,如果参数authorize=no,则不会检索此密码,如果任务task不指定,则默认使用环境变量ANSIBLE_NET_AUTH_PASS代替 authorize #是否进入特权模式,yes是;no不是.如果任务task不指定,则默认使用环境变量ANSIBLE_NET_AUTHORIZE 代替 gather_subset #限定取的子集范围,可跟范围:all(所有设备信息),con…
setup 作用,用来查看用看内部的详细信息 ansible_all_ipv4_addresses # ipv4的所有地址 ansible_all_ipv6_addresses # ipv6的所有地址 ansible_date_time # 获取到控制节点时间 ansible_default_ipv4 # 默认的ipv4地址 ansible_distribution # 系统 ansible_distribution_major_version # 系统的大版本 ansible_distribu…
一.概述user 模块可以帮助我们管理远程主机上的用户,比如创建用户.修改用户.删除用户.为用户创建密钥对等操作.二.心得password参数:此参数用于指定用户的密码.但是这个密码不能是明文的密码,而是一个对明文密码”加密后”的字符串,相当于 /etc/shadow 文件中的密码字段,是一个对明文密码进行哈希后的字符串,你可以在 python 的命令提示符下输入如下命令,生成明文密码对应的加密字符串. 问题示例: 首先将密码加密后复制这段加密后的字符串 然后执行命令进行创建用户 ansible…
Ansible常用模块文件操作 [root@tiandong etc]# ansible-doc -l   列出ansible所支持的模块 [root@tiandong ~]# ansible-doc -s ping(模块名)   可以查看模块的详细信息 Ping模块 [root@tiandong ~]# ansible all -m ping Fetch模块. 从远程主机拉去文件到ansible [root@tiandong etc]# ansible all -m fetch -a "src…