ansible ad-hoc常用模块

内容纲要

什么是ad-hoc?

ad-hoc是ansible临时快速的输入的一条或多条命令。

如何使用ad-hoc

例:ansible host -m shell -a "cat /etc/redhat-release"
host 主机组名
-m 使用模块
shell 是执行的模块名
-a 执行的动作

通常一条命令会带一个模块。本节我会介绍一些常用的模块。

ad-hoc常用模块

yum模块

例:安装最新的apache
ansible test -m yum -a "name=httpd state=latest"
ad-hoc 安装最新的apache

卸载apache
ansible test -m yum -a "name=httpd state=absent"
卸载apache

安装指定版本的apache
ansible test -m yum -a "name=httpd-2.4.6 state=present"
安装指定版本的apache

安装网络上的包
ansible test -m yum -a "name=http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.20.1-1.el7.ngx.x86_64.rpm state=present"
安装网络上的包

安装本地包
ansible test -m yum -a "name=/data/nginx-1.20.1-1.el7.ngx.x86_64.rpm state=present"

copy模块

例:复制本地文件到被控端并修改权限
ansible test -m copy -a "src=/data/test dest=/data/test owner=root group=root mode=0644"
ad-hoc 复制本地文件到被控端并修改权限

复制本地文件到被控端,如果被控端存在相同名字不同内容的文件,则备份被控端的文件并写入写入新文件。
ansible test -m copy -a "src=/data/test dest=/data/test owner=root group=root backup=yes"
复制本地文件到被控端

wget模块

例:网络文件下载到被控端本地/data目录并赋予权限
ansible test -m get_url -a "url=http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.20.1-1.el7.ngx.x86_64.rpm dest=/data/ mode=0644"
ad-hoc 网络文件下载到被控端本地/data目录并赋予权限

service模块

例:开启apache服务
ansible test -m service -a "name=httpd state=started"
ad-hoc 开启apache服务

停止apache服务
ansible test -m service -a "name=httpd state=stopped"

重启apache服务
ansible test -m service -a "name=httpd state=restarted"

开机自启apache服务
ansible test -m service -a "name=httpd enabled=yes"

相关链接:
ansible ad-hoc官方介绍:https://docs.ansible.com/ansible/latest/user_guide/intro_adhoc.html

通过本章的学习可以对ansible基本的模块做一些了解,这就是ad-hoc的使用,下一章会写playbook

上一篇:ansible实验环境及配置文件介绍:https://www.wenjiangun.com/blog/1176/

spacer

Leave a reply

评论审核已启用。您的评论可能需要一段时间后才能被显示。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据