什么是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"
卸载apache
ansible test -m yum -a "name=httpd state=absent"
安装指定版本的apache
ansible test -m yum -a "name=httpd-2.4.6 state=present"
安装网络上的包
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"
复制本地文件到被控端,如果被控端存在相同名字不同内容的文件,则备份被控端的文件并写入写入新文件。
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"
service模块
例:开启apache服务
ansible test -m service -a "name=httpd state=started"
停止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/