延边州住房和城乡建设局网站,建设银行网站功能介绍,做类似猪八戒网的网站,免费地方门户网站系统大家好#xff0c;这里是天亮之前ict#xff0c;本人网络工程大三在读小学生#xff0c;拥有锐捷的ie和红帽的ce认证。每天更新一个linux进阶的小知识#xff0c;希望能提高自己的技术的同时#xff0c;也可以帮助到大家 另外其它专栏请关注#xff1a; 锐捷数通实验这里是天亮之前ict本人网络工程大三在读小学生拥有锐捷的ie和红帽的ce认证。每天更新一个linux进阶的小知识希望能提高自己的技术的同时也可以帮助到大家 另外其它专栏请关注 锐捷数通实验锐捷数通实验 网络工程师成长日志网络工程师成长日志 it自动化运维it自动化运维 之前说完了ansible的安装、配置和清单文件今天说一下执行ansible使用临时命令通过模块执行任务。使用临时命令执行任务不需要编写剧本即可运行有一定的便利性但是也有一定的局限性。
这里不得不提出我写的上一个博客ansible自动运维——学会参考ansible-doc命令本博客加上上一个博客一起学习效果事半功倍。
一 ansible模块 通过ansible-doc -l 命令来查找系统安装的所有模块 1.1文件模块
copy将本地文件复制到受控主机 file设置文件的权限和其他属性 lineinfile确保特定行是否在文件中也就是说修改文件内容 synchronize使用rsync同步内容
1.2 软件包模块
package使用操作系统本机的自动检测软件包管理器管理软件包 yum使用yum软件包管理器管理软件包 apt使用apt软件包管理器管理软件包 dnf使用dnf软件包管理器管理软件包 pip从PyPI管理Python软件包
1.3 系统模块
firewalld使用firewalld管理任意端口和服务 reboot重新启动计算机 service管理服务 user添加、删除和管理用户账户
1.4 Net Tools模块
get_url通过http、https或者ftp下载文件 nmcli管理网络 uri与WEB服务交互
1.5 语法 ansible 主机名称 -m 模块名称 -a ‘具体动作’ -i inventory路径 命令 主机名称 指定模块 模块名称 模块动作 具体命令 -m 用于将Ansible应再目标主机上运行的module的名称作为参数-a 用于带引号字符串形式取这些参数的列表-i 用于指定要使用的其它清单位置取代ansible.cfg主配置文件中默认的inventory路径
二 copy模块
就将一个文件拷贝到所有的被控制节点上
2.1常用参数 src参数 用于指定需要copy的文件或目录。 dest参数 用于指定文件将被拷贝到远程主机的哪个目录中dest为必须参数。 content参数 当不使用src指定拷贝的文件时可以使用content直接指定文件内容src与content两个参数必有其一否则会报错。 force参数 : 当远程主机的目标路径中已经存在同名文件并且与ansible主机中的文件内容不同时是否强制覆盖可选值有yes和no默认值为yes表示覆盖如果设置为no则不会执行覆盖拷贝操作远程主机中的文件保持不变。 backup参数 : 当远程主机的目标路径中已经存在同名文件并且与ansible主机中的文件内容不同时是否对远程主机的文件进行备份可选值有yes和no当设置为yes时会先备份远程主机中的文件然后再将ansible主机中的文件拷贝到远程主机。 owner参数 : 指定文件拷贝到远程主机后的属主但是远程主机上必须有对应的用户否则会报错。 group参数 : 指定文件拷贝到远程主机后的属组但是远程主机上必须有对应的组否则会报错。 mode参数 : 指定文件拷贝到远程主机后的权限如果你想将权限设置为”rw-r--r--“则可以使用mode0644表示如果你想要在user对应的权限位上添加执行权限则可以使用modeux表示。
2.2案例 copy模块将hello vrlab 字符串内容放到ansible被管理节点hello文件设置hello文件的属主为root 属组为root 权限为550 [studentworkstation ansible]$ ansible -m copy -a contenthello vrlab dest/opt/hello ownerroot grouproot mode550 vrlab1 检验 用copy模块将源文件传送到ansible被控制节点的vrlab组下面 [studentworkstation ansible]$ ansible -m copy -a src/opt/vrlab123 dest/opt/vrlab456 三 user模块
user就是用来创建用户设置权限创建组等等
3.1常用参数
name 用于指定操作的 user必须项。uid 用于指定 user 的 UID默认为空。non_unique 与uid参数一起使用允许改变UID为非唯一值。group 参数用于指定用户 主组。默认值为空为空时创建的用户组名跟用户名一致。groups 参数用于指定用户属组可以在创建用户时指定用户属组也可以管理已经存在的用户属组。append 跟groups参数一起使用管理用户属组默认为false如果 appendyes 则从groups参数中增加用户的属组如果 appendno 则用户属组只设置为groups中的组移除其他所有属组。state 参数用于指定用户是否存在于远程主机中。可选值有 present、absent默认值为 present。remove 参数在 stateabsent 时使用等价于 userdel --remove 布尔类型默认值为 false。force 参数在 stateabsent 时使用等价于 userdel --force布尔类型默认值为 false。home 参数用于指定用户home目录值为路径create_home 在用户创建时或home目录不存在时为用户创建home目录布尔类型默认值为 truemove_home 如果设置为yes结合home 使用临时迁移用户家目录到特定目录comment 参数用于指定用户注释信息shell 参数用于指定用户默认shellsystem 参数用于指定用户是否是系统用户expires 参数用于指定用户过期时间相当于设置 /etc/shadow 文件中的的 第8列passwd 参数用于指定用户密码但是这个密码不能是明文密码而是一个对明文密码加密后的字符串默认为空
3.2案例 在vrlab主机组上添加用户lmy 检验 使用 ansible 在 控制节点上 创建test 用户并指定主组为 testgrp 首先创建使用ansible创建testgrp组 使用ansible创建test用户 验证 简单举出copy和user两个模块的案例供参考由于模块太多大家可自学查阅资料 “生活的方向无论你如何选择都会后悔人总向往没经历过的生活”