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' ![](https://file.jishuzhan.net/article/1738277477039476737/0b3970a984ea143c9daad79fa4566baf.webp) content \[root@10 opt\]# ansible 192.168.233.20 -m copy -a 'content="I LOVE YOU" dest=/opt/love.txt' ![](https://file.jishuzhan.net/article/1738277477039476737/7cdb85eff2c7cc52e9cb0d267bd38991.webp) 没有mv模块 ![](https://file.jishuzhan.net/article/1738277477039476737/2f65652bfe3dc53904eba51494373f5d.webp) ****模块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中使用 ![](https://file.jishuzhan.net/article/1738277477039476737/037f3d81767d6537b9905ccfaf240fbb.webp) ****模块12:script模块 运行本地脚本,然后把结果输出到目标主机**** ansible all -m script -a '1.sh' ![](https://file.jishuzhan.net/article/1738277477039476737/60403fea85501d3229bf90c5b1277a59.webp) **模块13:setup模块 查看目标主机的环境信息(facts),目标节点的系统信息** 查看全部 ansible 192.168.233.20 -m setup ![](https://file.jishuzhan.net/article/1738277477039476737/3d427be6ff3e9d5a1a4ac731444eb479.webp) 查看IP地址 ansible all -m setup -a 'filter=\*ipv4' ![](https://file.jishuzhan.net/article/1738277477039476737/835323c409e70c04f7d25e37fdd0bf43.webp) 查看CPU ansible all -m setup -a 'filter=ansible_processor' ![](https://file.jishuzhan.net/article/1738277477039476737/68df224abf27e2b1aa1faad6defdaaa3.webp) 查看内存 ansible all -m setup -a 'filter=ansible_memory\*' ![](https://file.jishuzhan.net/article/1738277477039476737/cec6b2a35d93d01f8913b213e63f3464.webp) 查看系统信息 ansible all -m setup -a 'filter=\*system\*' ![](https://file.jishuzhan.net/article/1738277477039476737/d7d9528df734218b97174f24b0323a35.webp) 查看系统底层信息 ansible all -m setup -a 'filter=\*os\*' ![](https://file.jishuzhan.net/article/1738277477039476737/6ee49221bf8bf4e80e2f598b789fbe7f.webp) 查看硬盘 ansible all -m setup -a 'filter=\*system\*' ![](https://file.jishuzhan.net/article/1738277477039476737/18d9f11611db62b926f4212bfccbc0a0.webp) 内核信息 ansible all -m setup -a 'filter=\*proc\*' ![](https://file.jishuzhan.net/article/1738277477039476737/88340f87054e506f2371a2b0bef0235a.webp) 主机清单: 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 指定切换用户的密码。(免秘钥登录才可以实现)

相关推荐
风清再凯1 天前
自动化工具ansible,以及playbook剧本
运维·自动化·ansible
IT乌鸦坐飞机1 天前
ansible部署数据库服务随机启动并创建用户和设置用户有完全权限
数据库·ansible·centos7
遇见火星14 天前
如何使用Ansible一键部署MinIO集群?
ansible
粥周粥14 天前
ANSIBLE
ansible
码农101号14 天前
Linux中ansible模块补充和playbook讲解
linux·运维·ansible
码农101号14 天前
Linux的Ansible软件基础使用讲解和ssh远程连接
ansible
烟雨书信15 天前
ANSIBLE运维自动化管理端部署
运维·自动化·ansible
碎碎-li15 天前
ANSIBLE(运维自动化)
运维·自动化·ansible
@donshu@18 天前
Linux运维-ansible-python开发-获取inventroy信息
linux·运维·ansible
Kendra91921 天前
Ansible
ansible