2019-04-24day39Ansible模块基础

Ansible认证:


实践:


ansible服务器越多,价值越大,

要执行脚本,远程的机器上必须要有脚本


ansible-doc -l   查看Linux下所有模块的命令,

ansible-doc -s 模块名

shell模块功能说明:

执行一个命令在远程节点上

参数说明:

选项参                                   数选项说明

chdir                                     在执行命令之前,通过cd命令进入到指定目录中

creates                                 定义一个文件是否存在,如果不存在,则运行相应的命令;如果存跳过次步骤

free——form(必有参数)   参数信息中可以输入任何系统命令信息,实现远程管理

removes                               定义一个文件是否存在,如果存在,则运行相应的命令;如果不存在跳过此步骤

说明:shell模块为基本命令模块,可以执行脚本文件,当相应脚本文件需要存在于远程主机节点上,并且shell模块不收变量类似$HOME和参数类似”<”,”>”,”|”,”,”,”;”,”&”

copy模块功能说明:复制文件到远程主机

参数:

选项参数                                选项说明

src                              本地路径文件复制到远程服务器;可以是绝对路径也可以是相对路径

                                   如果路径是一个目录,将湖递归复制,

                                   在这种情况下,如果路径以”/”结束,只将在该目录的内容复制到目的地

                                   否则,如果它不以”/”结束,目录和目录下所有内容都会被复制

                                    以上这种复制方式类似于rsync

dest(必有参数)        文件应该被拷贝到的远程绝对路径信息。

                                     如果src是一个目录,dest也必须是目录

owner                           定义所拥有文件/目录的所属用户名称,类似chown命令功能

group                            定义所拥有文件/目录的所属组名称,类似chown命令功能

mode                             定义文件或目录的权限信息

                                      就像使用/usr/bin/chmod   设定八进制(如 0644)权限一样,取消掉前导零可能会有意想不到的结果。

                                      作为1.8版本,可以指定为符号模式(如u+rwx or  u=w, g=r,o=r)

backup                           件备份文件并且包含时间戳信息,以便能够还原回文件,在某种情况源文件被覆盖错误时。

                                         默认配置为no,并且配置指定信息为yes|no

content                             当使用代替src参数时,将文件的内容直接设置位指定值,远端创建有指定内容文件,并且只能设置简单值。

                                         对于任何复杂或者有格式化的内容,请切换到template模块

force                                 默认为yes,当远程文件内容和源文件内容不同时,将覆盖目录文件

                                         默认为no,文件将只被传输,在目标主机不存在此文件时

                                          别名thirsty

remote_src                        如果为False,将搜索源信息在本地/管理及机器上

                                           如果为True,将到远程/目标主机的机器上搜索

                                            默认为false,目前remote_src不支持递归拷贝

说明:copy模块是远程推送数据模块,只能将数据推送到远程主机上,不能实现拉取数据到本地管理主机。

批量分发host需求:

ansible oldboy  -m  copy  -a  “src=/etc/hosts  dest=/etc/hosts  mode=0644 owner=root  group=root  backup=yes”


script模块:远程节点上运行本地脚本。

file模块参数:

设置文件属性:

选项参数                                选项说明

src                                         要链接的文件路径(只能应用 state=link),创建链接文件时使用

path(必有参数)                  文件路径管理:别名方式:dest,name

owner                                     定义所拥有文件/目录的所属用户名称,类似chown命令功能

group                                      定义所拥有文件/目录的所属组名称,类似chown命令功能

mode                                      定义文件或目录的权限信息;

                                        就像使用/usr/bin/chmod   设定八进制(如 0644)权限一样,取消掉前导零可能会有意想不到的结果。

                                         作为1.8版本,可以指定为符号模式(如u+rwx or  u=w, g=r,o=r)

                                          state如果指定参数为directory

                                        #所有不存在的子目录将会被创建,并且从1.7开始支持设置目录权限

                                             如果指定参数为file

                                         #如果文件不存在将不能被创建,如果想创建可以参考copy和template模块

                                      如果指定参数为link

                                       #符号链接将被创建或更改

                                         如果指定参数为hard

                                          #便会创建出硬链接

                                          如果指定参数为absent

                                           #目录将被递归删除以及文件,而链接将被取消链接。

                                           #请注意,定义文件不存在会失败,知识输出没有发生任何改变的结构

                                               如果指定参数为touch

                                               #如果路径不存在将创建一个空文件,如果文件或目录存在将接受更新的文件访问和修改时间(类似                                                              于”touch ”从命令行工作的方式)

说明:file模块主要用于创建文件或目录数据,以及多存在的文件或目录权限属性进行修改管理。

recurse=yes

递归创建

 file模块功能说明:

功能说明:设置文件属性官方链接:http://docs.ansible.com/ansible/latest/file_module.html

================================================================

替代方案:

ansible oldboy  -m command -a "chmod 777 /etc/hosts warn=false"

ansible oldboy  -m command -a "chmod 644 /etc/hosts warn=false"

ansible oldboy  -m command -a "chown oldboy /etc/hosts warn=false"

ansible oldboy  -m command -a "chown root /etc/hosts warn=false"

创建目录:mkdir /tmp/oldboy_dir

ansible oldboy -m file -a "dest=/tmp/oldboy_dir state=directory"

递归设置权限:

ansible oldboy -m file -a "dest=/tmp/oldboy_dir state=directory mode=644 recurse=yes"

创建文件:touch /tmp/oldboy_file

ansible oldboy -m file -a "dest=/tmp/oldboy_file state=touch"

删除文件:rm -f /tmp/oldboy_file

ansible oldboy -m file -a "dest=/tmp/oldboy_file state=absent"

创建链接文件:ln -s /etc/hosts /tmp/link_file

ansible oldboy -m file -a "src=/etc/hosts dest=/tmp/link_file state=link"

ansible oldboy -m file -a "dest=/tmp/oldboy_file state=touch owner=oldboy group=oldboy mode=000"

ansible oldboy -m file -a "dest=/tmp/oldboy_file state=touch owner=oldboy group=oldboy mode=ugo=rwx"

yum包管理模块:

选项参数                  选项说明

name                      需要安装的软件包名称信息,或包的版本标识信息

state                       是否安装(present or installed latest),或者移除(absent  or  removed)一个包

说明:yum模块的参数功能很多,但日常工作中主要用到就是以上两个模块参数

service 模块功能说明:

选项参数                          选项说明

name                                定义所要管理的服务名称

enable                             确认是否徐彤启动时运维指定的服务,对于state或enable参数在管理服务时至少需要一个

                                        statestated/stopped

                                       以上两个参数属于服务激活操作命令,除非必要,否则不用经常运行这两个参数

                                        restarted

                                        重启操作将是始终支持的服务

                                         reloaded

                                        表示进行平滑重启

systemd模块功能说明:

定时任模块参数:

模块参数                      模块描述

minute                         Minute when  the  job  should  run

                                   运行job任务的分钟时间信息

hour                             Hour when the job should  run

                                   运行job任务的小时时间信息

day                             Day of the month the jobshouldrun

                                   运行job任务的日期时间信息

month                       Month of the week that the job should run

                                   运行job任务的星期时间信息

job                               The command to execute  or, if env is set,the value of environment variable。

                                    Required if state=present。

                                   执行的命令如果env被社会,将作为环境变量的值,但前提是

                                      state=present

                                 定时任务索要完成的操作

注释定时任务用disabled=yes

常用模块                                 模块说明

command(重要模块)           执行命令模块,ansible命令执行默认模块

shell(重要模块)                    执行shell脚本模块

script(重要模块)                   把脚本发到客户端,然后执行;执行脚本命令在远程服务器上

copy(重要模块)                     把本地文件发送到远端

file                                             设定文件属性模块

service                                     系 统服务管理模块(CentOS6)

systemd                                    系统服务管理模块(CentOS7)

cron                                           计划任务管理模块

yum                                            yum软件包安装管理模块

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,163评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,301评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,089评论 0 352
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,093评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,110评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,079评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,005评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,840评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,278评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,497评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,667评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,394评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,980评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,628评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,649评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,548评论 2 352

推荐阅读更多精彩内容