设为首页 加入收藏

TOP

Ansible常用模块(四)
2023-07-23 13:30:41 】 浏览:83
Tags:Ansible 常用模
name='Synctime'" ansible httpd -m shell -a "crontab -l"

注:删除时最好将job的命令也写上,因为可能会有重名的计划任务。

Yum 模块

用于对软件包的管理,下载、安装、卸载、升级等操作。

相关选项:

  • name // 指定要操作的软件包名字
  • download_dir // 指定下载软件包的存放路径,需要配合download_only一起使用
  • download_only // 只下载软件包,而不进行安装,和yum --downloadonly一样
  • list:
    • installed // 列出所有已安装的软件包
    • updates // 列出所有可以更新的软件包
    • repos // 列出所有的yum仓库
  • state:
    • installed, present // 安装软件包(两者任选其一都可以)
    • removed, absent // 卸载软件包
    • latest // 安装最新软件包
# 列出所有已安装的软件包
ansible 192.168.1.2 -m yum -a 'list=installed'

# 列出所有可更新的软件包
ansible 192.168.1.2 -m yum -a 'list=updates'

#列出所有的yum仓库
ansible 192.168.1.2 -m yum -a 'list=repos'

# 安装包组,类似yum groupinstall 'Development Tools'
ansible 192.168.1.2 -m yum -a 'name="@Development Tools" state=installed'
# 安装软件包
ansible httpd -m yum -a "name=httpd state=latest"

解释:
name=httpd    #软件名
state=latest  #安装yum源里最新的版本

注:如果不想有这些输出,直接在后面跟上“>> /dev/null”输出到黑洞里面

// 查看一下结果
ansible httpd -m shell -a "rpm -qa httpd"

# 卸载软件包
ansible 192.168.1.2 -m yum -a 'name=httpd state=removed'

# 验证
ansible httpd -m shell -a "rpm -qa httpd"

yum_repository模块

yum_repository 模块可以帮助我们管理远程主机上的 yum 仓库。

常用参数:

  • name参数:必须参数,用于指定要操作的唯一的仓库ID,也就是”.repo”配置文件中每个仓库对应的”[中括号]”内的仓库ID。
  • baseurl参数:此参数用于设置 yum 仓库的 baseurl。
  • description参数:此参数用于设置仓库的注释信息,也就是”.repo”配置文件中每个仓库对应的”name字段”对应的内容。
  • file参数:此参数用于设置仓库的配置文件名称,即设置”.repo”配置文件的文件名前缀,在不使用此参数的情况下,默认以 name 参数的仓库ID作为”.repo”配置文件的文件名前缀,同一个”.repo” 配置文件中可以存在多个 yum 源。
  • enabled参数:此参数用于设置是否激活对应的 yum 源,此参数默认值为 yes,表示启用对应的 yum 源,设置为 no 表示不启用对应的 yum 源。
  • gpgcheck参数:此参数用于设置是否开启 rpm 包验证功能,默认值为 no,表示不启用包验证,设置为 yes 表示开启包验证功能。Yes:1 No:0
  • gpgcakey:当 gpgcheck 参数设置为 yes 时,需要使用此参数指定验证包所需的公钥。
  • state参数:默认值为 present,当值设置为 absent 时,表示删除对应的 yum 源。

示例:

1.在 httpd 主机上设置ID为 local 的 yum 源,并启用它(local源使用系统光盘镜像作为本地 yum 源,以便测试举例)。
ansible httpd -m yum_repository -a 'file=lemon name=A baseurl=file:///mnt description="local" enabled=yes gpgcheck=no'

2.在 testA 主机上设置ID为 local 的 yum 源,开启包验证功能,并指定验证包所需的公钥位置为 /media/RPM-GPG-KEY-CentOS-7。
ansible httpd -m yum_repository -a 'name=local baseurl=file:///mnt description="A" gpgcheck=yes gpgcakey=file:///mnt/RPM-GPG-KEY-CentOS-7'

3.在httpd主机上删除/etc/yum.repos.d/alibaba.repo 配置文件中的 aliEpel 源。
ansible httpd -m yum_repository -a 'file=lemon name=A state=absent'

pip模块

用于安装python中的包(需要联网)。

# 查看模块参数
ansible-doc -s pip

# 配置阿里yum源
ansible httpd -m shell -a 'curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo && yum makecache && yum -y install epel epel-release'

# 使用pip时,需要保证被管理机器上有python-pip软件包
ansible 192.168.1.2 -m yum -a 'name=python-pip'

# 安装python的三方包
ansible 192.168.1.2 -m pip -a 'name=flask'
ansible httpd -m shell -a 'find / -name flask' //验证

Service|Systemd模块

用于对服务进行管理,服务的启动、关闭、开机自启等。

相关选项:

  • name 指定服务的名字,比如nginx.service,crond.service
  • state 填入你要执行的操作,比如reloaded, restarted, started, stopped
  • enabled 指定服务开机自启 systemctl enable nginx
启动服务
ansible httpd -m yum -a "name=httpd state=latest"
ansible httpd -m service -a "name=httpd state=started"

查看一下结果
ansible httpd -m shell -a "systemctl status httpd | grep Active"

添加开机启动项
ansible httpd -m service -a "name=httpd enabled=true"

查看一下结果
ansible httpd -m she
首页 上一页 1 2 3 4 下一页 尾页 4/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇shell #!/bin/bash: No such file.. 下一篇深度解析 slab 内存池回收内存以..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目