ansible ( 2 )

1、command模块

一般用于执行linux命令,不支持管道符和重定向

2、shell模块

相当于command模块的升级版,也可以支持linux命令。支持管道符和重定向

3、cron模块

在远程主机生成定时任务

分 时 日 月 周 minute hour day month weekday

job=

name 声明计划任务的名称,可以不加,以后声明定时任务的名称是必须的。

4、user模块:

远程管理用户的模块,创建用户

system=yes | no

声明是普通还是系统用户

yes 程序用户

no 普通用户

登录的shell还是需要用户自己声明

remove=yes/no

删除用户时是否删除家目录

userdel -r

password 创建密码

5、group模块,创建用户组

6、ping模块,测试和远程主机的连通性

只有在/etc/ansible/hosts文件中声明的主机,ansible的服务端才能进行远程操作

7、hostname模块,给远程主机改名

8、copy模块,用于复制指定的主机文件到远程主机的模块

9、file模块 文件模块(和目录无关)

10、yum模块 远程主机上安装与卸载软件包

11、service/systemd模块

12、script模块 运行本地脚本,然后把结果输出到目标主机

13、setup模块 查看目标主机的环境信息(facts),目标节点的系统信息

模块7:hostname模块 给远程主机改名

ansible 192.168.233.20 -m hostname -a 'name=yc'

模块8:copy模块 用于复制指定的主机文件到远程主机的模块

常用参数:

dest 指出要复制的文件在哪,必须使用绝对路径。如果源目标是目录,那么指目标也要是目录。如果目标文件存在,会覆盖原有内容

src:复制文件的源。最好使用绝对路径,源目标是目录,指目标也得是目录

owner 指出文件的所有者

group 指定文件的所在组

content 从主机复制指定的内容到目标主机。用了content就不能用src,作用就是替代src

mode 指定复制之后的文件权限

复制目录时,还是复制完整的目录,即目录当中不能为空

src

[root@10 opt]# mkdir test

[root@10 opt]# cd test/

[root@10 test]# touch 123

[root@10 test]# cd ..

[root@10 opt]# ansible 192.168.233.20 -m copy -a 'src=/opt/test dest=/opt/guoqi2 mode=777'

content

[root@10 opt]# ansible 192.168.233.20 -m copy -a 'content="I LOVE YOU" dest=/opt/love.txt'

没有mv模块

模块9:file模块 文件模块(和目录无关)

owner

group

mode

state=link 创建链接文件

state=touch 创建文件

state=absent 删除文件

模块10:yum模块 远程主机上安装与卸载软件包

在目标主机上的操作都是后台运行,不影响其他用户的使用

模块11:service/systemd模块

name 设定管理服务的名称

state=satrted/stopped/restarted 管理动作

enabled=yes/no 表示是否设置开机自启,如果不加,默认就是开机不自启

runlevel:配合enabled的,开机自启的话,可以设置运行级别。在命令行可以设置,但是不生效,必须要在playbook中使用

模块12:script模块 运行本地脚本,然后把结果输出到目标主机

ansible all -m script -a '1.sh'

模块13:setup模块 查看目标主机的环境信息(facts),目标节点的系统信息

查看全部

ansible 192.168.233.20 -m setup

查看IP地址

ansible all -m setup -a 'filter=*ipv4'

查看CPU

ansible all -m setup -a 'filter=ansible_processor'

查看内存

ansible all -m setup -a 'filter=ansible_memory*'

查看系统信息

ansible all -m setup -a 'filter=*system*'

查看系统底层信息

ansible all -m setup -a 'filter=*os*'

查看硬盘

ansible all -m setup -a 'filter=*system*'

内核信息

ansible all -m setup -a 'filter=*proc*'

主机清单:

ansible可以管理上千台主机

快速声明多个主机

192.168.233.3[1:9]

31--39

ansible_host 连接时的IP地址

ansible_port 声明对方的连接端口,默认是ssh的22端口

ansible_user 指定连接时使用对方主机的用户名,不指定主机执行ansible的用户即为使用目标主机的用户名

ansible_password 指定连接sshs时的密码 (目标主机的用户密码)

ansible_become 提升用户权限

ansible_become_password 指定切换用户的密码。(免秘钥登录才可以实现)

相关推荐
梦幻通灵2 天前
Ansible之批量管理服务器
服务器·github·ansible
优雅孤狼5 天前
Ansible Jinja2 语法简介及使用
运维·ansible
黑子哥呢?5 天前
Linux---自动化工具Ansible模块教程
linux·自动化·ansible
huhy~7 天前
CentOS7.9基于ansible部署zabbix3.4
网络·ansible
csdn1342411 天前
ansible
ansible
Linux运维技术栈14 天前
Ansible(自动化运维)环境搭建及ansible-vault加密配置
运维·自动化·ansible
花晓木14 天前
ansible安装文档
ansible
vvw&15 天前
如何在 Ubuntu 22.04 上安装 Ansible 教程
linux·运维·服务器·ubuntu·开源·ansible·devops
☆凡尘清心☆16 天前
CentOS-stream-9安装ansible
linux·centos·ansible
墨水\\16 天前
Ansible---playbook剧本
ansible