问答题

请总结今天所学的ansible模块,以及各个模块的作用!

ping

ping模块用来检查目标主机是否在线

例子:ansible webserver -m ping

yum

yum模块用来在Centos系统上使用yum命令安装软件包

选项:

name: 指定安装包的名字

state:latest 安装最新版  present 默认安装  installed 安装  absent 卸载

removed 卸载

例子:ansible webservers -m yum -a ‘name=httpd state=latest’

command

command模块用来执行系统命令,但是不支持shell下的特殊符号 如:|  &&等

例子:ansible webservers -m command  -a ‘echo 李想

shell

shell模块和command模块使用方法基本一致,但是他可以支持shell的特殊符号,如: |  && 等

例子:ansible webservers -m shell  -a “cd /opt/ && touch lixiang”

service

service模块用来管理centos上的服务的启动、关闭、重启和重载

选项:

name: 服务名字

state:  started(启动)  stopped(停止) restarted(重启)  reloaded(重载)

enabled: 默认是no,将服务设置为开机自启

file

file模块用来创建文件、目录、链接文件

选项:

group:定义文件/目录的属组

mode:定义文件/目录的权限

owner:定义文件/目录的属主

path:必选项,定义文件/目录的路径

recurse:递归的设置文件的属性,只对目录有效

src:要被链接的源文件的路径,只应用于state=link的情况

dest:被链接到的路径,只应用于state=link的情况

state:

directory:如果目录不存在,创建目录

file:即使文件不存在,也不会被创建

link:创建软链接

hard:创建硬链接

touch:如果文件不存在,则会创建一个新的文件,如果文件或目录已存在,则更新其最后修改时间

absent:删除目录、文件或者取消链接文件

user

user模块用来创建用户

选项:

home: 指定创建的家目录

groups:指定用户组

uid:指定UID

password:设置密码,密码必须是密文

Openssl passwd

name:创建的用户名字

createhome:是否创建家目录(yes/no)

state:  是创建还是删除。(present,absent),默认是创建

shell: 指定用户登录的shell环境

remove:删除用户家目录,默认为no

group

group用来创建用户组

选项

gid:指定用的gid。

name:指定用户名。

state:是创建还是删除。(present,absent)

copy

copy模块用来复制文件至目标主机

选项:

src:文件在管理主机的据对路径或者相对路径

dest:将文件复制到目标主机的路径

backup:是否将目标主机的同名文件备份,默认为no

mode: 授权

directory_mode:递归授权

例子:

ansible  webservers  -m copy  -a ‘src=/root/nginx.sh  dest=/opt/’

unarchive

unarchive模块用来解压文件

n 选项:

u copy:在解压文件之前,是否先将文件复制到远程主机,默认为yes。若为no,则要求目标主机上压缩包必须存在

u creates:指定一个文件名,当该文件存在时,则解压指令不执行

u dest:远程主机上的一个路径,即文件解压的绝对路径。

u group:解压后的目录或文件的属组

u mode:解压后文件的权限

u src:如果copy为yes,则需要指定压缩文件的源路径

u owner:解压后文件或目录的属主

n 例子:

ansible  webservers -m unarchive -a ‘src=/root/nginx.tar.gz  dest=/opt/ group=www ower=www mode=777 ’

get_url

n get_url模块,该模块主要用于从http、ftp、https服务器上下载文件(类似于wget

n 选项:

u url: 指定要下载的文件的URL地址

n 例子:

ansible webservers -m get_url -a ‘url= http://nginx.org/download/nginx-1.15.7.tar.gz  dest=/root/’

synchronize

n 使用rsync同步文件,将主控方目录推送到指定节点的目录下,使用此模块需要先安装rsync

n delete: 删除不存在的文件,delete=yes 使两边的内容一样(即以推送方为主),默认no

n src: 要同步到目的地的源主机上的路径; 路径可以是绝对的或相对的。如果路径使用”/”来结尾,则只复制目录里的内容,如果没有使用”/”来结尾,则包含目录在内的整个内容全部复制

n dest:目的地主机上将与源同步的路径; 路径可以是绝对的或相对的。

n dest_port:默认目录主机上的端口 ,默认是22,走的ssh协议。

n mode: push或pull,默认push,一般用于从本机向远程主机上传文件,pull 模式用于从远程主机上取文件。

n rsync_opts:通过传递数组来指定其他rsync选项。

fetch

n fetch模块它用于从远程机器获取文件,并将其本地存储在由主机名组织的文件树中。

n 选项:

u src:远程系统上要获取的文件。 这必须是一个文件,而不是一个目录。 后续版本可能会支持递归提取。

u dest:保存文件的目录

setup

n setup 模块用于收集远程主机的一些基本信息。

n 选项:

u filter参数:用于进行条件过滤。如果设置,仅返回匹配过滤条件的信息。

u 常用的过滤关键词:

l ansible_all_ipv4_addresses:仅显示ipv4的信息

l ansible_devices:仅显示磁盘设备信息

l ansible_distribution:显示是什么系统,例:centos,suse等

l ansible_distribution_major_version:显示是系统主版本

l ansible_distribution_version:仅显示系统版本

l ansible_machine:显示系统类型,例:32位,还是64位

l ansible_eth0:仅显示eth0的信息

l ansible_hostname:仅显示主机名

l ansible_kernel:仅显示内核版本

l ansible_lvm:显示lvm相关信息

l ansible_memtotal_mb:显示系统总内存

l ansible_memfree_mb:显示可用系统内存

l ansible_memory_mb:详细显示内存情况

l ansible_swaptotal_mb:显示总的swap内存

l ansible_swapfree_mb:显示swap内存的可用内存

l ansible_mounts:显示系统磁盘挂载情况

l ansible_processor:显示cpu个数(具体显示每个cpu的型号)

l ansible_processor_vcpus:显示cpu个数(只显示总的个数)

l ansible_python_version:显示python版本

u 例子:

获取目标主机的ipv4地址

ansible webservers -m setup -a 'filter=ansible_all_ipv4_addresses'

Ansible常用模块整理的更多相关文章

  1. 【原创】ansible常用模块整理

    一.Ansible模块帮助 ansible-doc -l # 列出 Ansible 支持的模块 ansible-doc ping # 查看该模块帮助信息 二.远程命令模块 2.1command com ...

  2. ansible常用模块用法

    ansible常用模块用法 2015-07-21 10:25 24458人阅读 评论(1) 收藏 举报  分类: Linux(44)   ansible 版权声明:本文为博主原创文章,未经博主允许不得 ...

  3. Ansible常用模块介绍及使用(week5_day1_part2)--技术流ken

    Ansible模块 在上一篇博客<Ansible基础认识及安装使用详解(一)--技术流ken>中以及简单的介绍了一下ansible的模块.ansible是基于模块工作的,所以我们必须掌握几 ...

  4. Ansible常用模块命令

    Ansible常用模块命令 一.安装ansible yum install epel-release yum install ansible 二.配置文件配置 vi /etc/ansible/ansi ...

  5. Ansible常用模块介绍及使用(2)

    Ansible模块 在上一篇博客<Ansible基础认识及安装使用详解(一)–技术流ken>中以及简单的介绍了一下ansible的模块.ansible是基于模块工作的,所以我们必须掌握几个 ...

  6. Ansible常用模块及API

    Ansible安装 安装EPEL作为安装Ansible的yum源(CentOS6.4): rpm -Uvh http://ftp.linux.ncsu.edu/pub/epel/6/i386/epel ...

  7. ansible常用模块入门

    常用模块有以下几个 command copy shell crond yum service setup 1.command模块 ansible george -m command -a " ...

  8. Ansible常用模块基本操作

    Ansible是一个系列文章,我会尽量以通俗易懂.诙谐幽默的总结方式给大家呈现这些枯燥的知识点,让学习变的有趣一些. 前言 对于任何一个框架,一个应用,为了更便于推广,便于使用,便于商业化,都会顺便提 ...

  9. Ansible 常用模块详解

    经过前面的介绍,我们已经熟悉了 Ansible 的一些常识性的东西和如何编译安装Ansible,从本章开始我们将全面介绍 Ansible 的各种生产常用模块,这些也是我们使用 Ansible 的过程中 ...

随机推荐

  1. python jieba 分词进阶

    https://www.cnblogs.com/jiayongji/p/7119072.html 文本准备 到网上随便一搜"三体全集",就很容易下载到三体三部曲的全集文本(txt文 ...

  2. SublimeText3安装Markdown插件

    由于Webstrom对md文件的预览效果并不理想(与实际网页编译效果差别较大),所以我又改用Sublime进行本地编辑,下面介绍一下怎么搭建环境. 插件安装 整套环境我们就需要两个插件:Markdow ...

  3. Java代码中可以优化性能的小细节

    避免对boolean类型的判定 反例: 12 if("a".equles("a")==true)`{} 正例: 12 if(Objects.equles(&qu ...

  4. Spring MVC + CXF实现webservice接口

    本来都是WebAPI/RestfulAPI接口对外提供接口的,突然有个需求要提供WebService接口,本想着Spring和CXF这么成熟的两个产品,这么的也整不出什么幺蛾子来啊. 结果还真是出了几 ...

  5. IDEA安装(2019.2版)

    IDEA安装(2019.2版) 前段时间在公司实习接触过现下很火的 IDE,这里我根据搜集到的资料以及自己的实际操作整合了这篇博客,包括了安装和破解 IDEA,借此打开学习之旅.  IntelliJ ...

  6. GeoIP的使用-C语言版

    0x00. 简介 GeoIP库可以根据IP地址(支持IPv4 和 IPv6), 定位该IP所在的 洲.经纬度.国家.省市.ASN 等信息. GeoIP目前已经升级到GeoIP2,GeoIP2有两个版本 ...

  7. Spring boot配置MongoDB以及Morphia踩坑记录

    pom 因为项目中采用Morphia(MongoDB的ODM框架,对象-文档映射(object-document mapper)),因此需要在pom文件中引入相应依赖: <dependency& ...

  8. 前端开发者必备的Nginx知识

    摘要: 最常用的Web服务器 -- Nginx 原文:前端开发者必备的Nginx知识 作者:ConardLi Fundebug经授权转载,版权归原作者所有. Nginx在应用程序中的作用 解决跨域 请 ...

  9. PHP 格式化显示时间 date() 函数【转】

    date() 函数 功能:用于格式化时间,返回一个字符串.  语法:string date( string format [, int timestamp] ),其中参数 format 表示时间格式化 ...

  10. vscode vue 去掉语法提示

    在vscode中,点击file->preferences->settings, 然后输入vetur, 滚到最下面,那个勾去掉,然后关闭,重启vscode就可以了