运维神器Ansible的常用模块

目录

引言:话不多说,今天分享一下Ansible的常用模块,建议收藏哦

1、ping模块

ping模块可以进行主机连通性测试

2、command 模块

command模块可以直接在远程主机上执行命令,并将结果返回本主机

3、shell 模块

shell模块可以在远程主机上调用shell解释器运行命令,支持shell的各种功能

4、copy模块

copy模块用于将文件复制到远程主机,同时支持给定内容生成文件和修改权限等

5、file 模块

file 模块主要用于设置文件的属性,比如创建文件、创建链接文件、删除文件等

6、fetch 模块

fetch 模块用于从远程某主机获取(复制)文件到本地

7、cron 模块

cron 模块适用于管理cron计划任务的

8、yum 模块

yum 模块主要用于软件的安装‘’

9、service 模块

service 模块用于服务程序的管理

10、user 模块

user 模块主要是用来管理用户账号。

11、group 模块

group 模块主要用于添加或删除组

累了,下期在更新!!!


引言:话不多说,今天分享一下Ansible的常用模块,建议收藏哦

1、ping模块

ping模块可以进行主机连通性测试

命令格式

ansible 主机或主机组 -m ping

例,成功显示如下:

2、command 模块

command模块可以直接在远程主机上执行命令,并将结果返回本主机

命令格式

ansible 主机或主机组 -m command -a '命令'

 例,成功显示如下:

需要注意的是:这里的命令模块,给定的命令它不会通过shell进行处理,比如$HOME和操作如"<",">","|",";","&" 工作都不支持

下面来看一看该模块下常用的几个命令:

chdir           # 在执行命令之前,先切换到该目录

executable         # 切换shell来执行命令,需要使用命令的绝对路径

free_form         # 要执行的Linux指令,一般使用Ansible的-a参数代替。

creates             # 一个文件名,当这个文件存在,则该命令不执行,可以用来做判断

removes             # 一个文件名,这个文件不存在,则该命令不执行

例1:

例2:

3、shell 模块

shell模块可以在远程主机上调用shell解释器运行命令,支持shell的各种功能

命令格式

ansible 主机或主机组 -m shell -a 'shell命令'

例:

4、copy模块

copy模块用于将文件复制到远程主机,同时支持给定内容生成文件和修改权限等

其相关选项如下:

src        #被复制到远程主机的本地文件。可以是绝对路径,也可以是相对路径。如果路径是一个目录,则会递归复制,用法类似于"rsync"

content      #用于替换"src",可以直接指定文件的值

dest         #必选项,将源文件复制到的远程主机的绝对路径

backup     #当文件内容发生改变后,在覆盖之前把源文件备份,备份文件包含时间信息

directory_mode    #递归设定目录的权限,默认为系统默认权限

force    #当目标主机包含该文件,但内容不同时,设为"yes",表示强制覆盖;设为"no",表示目标主机的目标位置不存在该文件才复制。默认为"yes"

others #所有的 file 模块中的选项可以在这里使用

用法例1:

 现在可以去看看我们的文件是否拷贝成功了

用法例2:

给定内容生成文件,并制定权限

现在可以去查看一下我们生成的文件内容及其权限:

5、file 模块

file 模块主要用于设置文件的属性,比如创建文件、创建链接文件、删除文件等

下面是一些常见的命令:

force     #需要在两种情况下强制创建软链接,一种是源文件不存在,但之后会建立的情况下;另一种是目标软链接已存在,需要先取消之前的软链,然后创建新的软链,有两个选项:yes|no

group     #定义文件/目录的属组。后面可以加上

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

owner     #定义文件/目录的属主。后面必须跟上

path:定义文件/目录的路径

recurse  #递归设置文件的属性,只对目录有效,后面跟上

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

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

state状态,有以下选项:

directory:如果目录不存在,就创建目录 link:创建软链接 hard:创建硬链接 touch:如果文件不存在,则会创建一个新的文件,如果文件或目录已存在,则更新其最后修改时间 absent:删除目录、文件或者取消链接文件

用法例1:

创建目录

我们可以查看一下:

用法例2:

创建链接文件

我们去/tmp目录下查看一下

6、fetch 模块

fetch 模块用于从远程某主机获取(复制)文件到本地

有两个选项:

dest:用来存放文件的目录

src:在远程拉取的文件,并且必须是一个file,不能是目录

用法举例:

7、cron 模块

cron 模块适用于管理cron计划任务的

其使用的语法跟我们的crontab文件中的语法一致,同时,可以指定以下选项:

day=      #日应该运行的工作( 1-31, , /2, )

hour=              # 小时 ( 0-23, , /2, )

minute=          #分钟( 0-59, , /2, )

month=            # 月( 1-12, *, /2, )

weekday=         # 周 ( 0-6 for Sunday-Saturday,, )

job=          #指明运行的命令是什么

name=      #定时任务描述

reboot              # 任务在重启时运行,不建议使用,建议使用special_time

special_time    #特殊的时间范围,参数:reboot(重启时),annually(每年),monthly(每月),weekly(每周),daily(每天),hourly(每小时)

state     #指定状态,present表示添加定时任务,也是默认设置,absent表示删除定时任务

user               # 以哪个用户的身份执行

用法举例:

添加计划任务

我们可以查看文件内容

8、yum 模块

yum 模块主要用于软件的安装‘’


选项如下:

name=              #所安装的包的名称

state=             #present--->安装, latest--->安装最新的, absent---> 卸载软件。

update_cache  #强制更新yum的缓存

conf_file        #指定远程yum安装时所依赖的配置文件(安装本地已有的包)。

disable_gpg_check  #是否禁止GPG checking,只用于presentor latest

disablerepo   #临时禁止使用yum库。 只用于安装或更新时。

enablerepo     #临时使用的yum库。只用于安装或更新时。

用法举例:

安装net-tools包

我们可以使用rpm -qa 查看一下

9、service 模块

service 模块用于服务程序的管理

主要选项如下:

arguments #命令行提供额外的参数

enabled #设置开机启动。

name= #服务名称

runlevel #开机启动的级别,一般不用指定。

sleep #在重启服务的过程中,是否等待。如在服务关闭以后等待2秒再启动。(定义在剧本中。)

state有四种状态,分别为:

started--->启动服务, stopped--->停止服务, restarted--->重启服务, reloaded--->重载配置

用法举例1:

开启服务并设置自启动

我们可以去查看一下端口是否打开:

用法举例2:

关闭服务

我们可以去查看一下端口是否被关闭:

10、user 模块

user 模块主要是用来管理用户账号。

主要选项如下:

comment  # 用户的描述信息

createhome  # 是否创建家目录

force    # 在使用state=absent时, 行为与userdel –force一致.

group    # 指定基本组

groups  # 指定附加组,如果指定为(groups=)表示删除所有组

home      # 指定用户家目录

move_home  # 如果设置为home=时, 试图将用户主目录移动到指定的目录

name      # 指定用户名

non_unique  # 该选项允许改变非唯一的用户ID值

password  # 指定用户密码,对密码加密可以使用python的crypt和passlib

remove  # 在使用state=absent时, 行为是与userdel –remove一致

shell    # 指定默认shell

state    # 设置帐号状态,不指定为创建,指定值为absent表示删除

system  # 当创建一个用户,设置这个用户是系统用户。这个设置不能更改现有用户

uid       # 指定用户的uid

用法举例:

添加一个用户并指定其 uid

我们可以查看一下zaotounan用户

11、group 模块

group 模块主要用于添加或删除组

常用的选项如下:

gid=  #设置组的GID号

name=  #指定组的名称

state=  #指定组的状态,默认为创建,设置值为

absent  #删除

system=  #设置值为yes,表示创建为系统组

用法举例:

创建组并指定gid号

创建过后,我们来查看一下:

累了,下期在更新!!!

  • 31
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

藻头男

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值