一蓝网站建设创建网站首页

当前位置: 首页 > news >正文

一蓝网站建设,创建网站首页,个人网站主办者名称,西宁做网站哪家好目录 前言 一、ansible实现管理的方式 二、Ad-Hoc执行方式中如何获得帮助 三、ansible命令运行方式及常用参数 四、ansible的基本颜色代表信 五、ansible中的常用模块 1、command 2、shell 3、script
4、copy
5、fetch 6、file 7、 unarchive 8、archive 9、h…目录 前言 一、ansible实现管理的方式 二、Ad-Hoc执行方式中如何获得帮助 三、ansible命令运行方式及常用参数 四、ansible的基本颜色代表信 五、ansible中的常用模块 1、command 2、shell 3、script  4、copy  5、fetch 6、file 7、 unarchive 8、archive 9、hostname 10、cron 11、yum_repository 12、dnf 13、service 14、firewalld 15、user 16、group 17、lineinfile 18、replace 19、setup 20、debug 总结 前言 本章内容主要讲解ansible中常用模块ansible实现管理的方式、ansible命令运行方式及常用参数、ansible中的常用模块中的command、shell、script、copy、fetch、file、unarchive、archive、hostname、cron、dnf、service、firewalld、user、group、lineinfile、replace、setup、debug模块每一个模块各自的作用。 什么是模块 ls本身是一个命令如果把ansible看做是一个系统的话ls就是一个模块模块就是别人开发好集成好的东西 一、ansible实现管理的方式 Ad-Hoc           ##利用ansible命令直接完成管理主要用于临时命令使用场景 playbook         ##ansible脚本主要用于大型项目场景需要前期的规划 命令在执行时有直接执行ansible也有直接执行的方式Ad-Hoc  也可以写脚本在ansible中的脚本叫做playbook  这就是playbooks的执行方式类似于shell中的脚本  二、Ad-Hoc执行方式中如何获得帮助 ansible-doc         ##显示模块帮助的指令        q退出 #格式 ansible-doc [参数] [模块…] #常用参数 -l          ##列出可用模块 -s         ##显示指定模块的playbook片段 不加s是帮助  三、ansible命令运行方式及常用参数 #格式 ansible 清单 -m 模块 -a 模块参数 #常用参数 #–version                                ##显示版本 #-m module                             ##指定模块默认为command模块 #-v                                           ##详细过程 -vv -vvv更详细过程 #–list                                       ##显示主机列表也可以用–list-hosts #-k                                           ##提示输入ssh连接密码默认key认证 #-C                                          ##预执行检测 #-T                                           ##执行命令的超时时间默认10s #-u                                           ##指定远程执行的用户 #-b                                           ##执行sudo切换身份操作 #–become-userUSERNAME  ##指定sudo的用户 #-K                                            ##提示输入sudo密码 -v显示详细信息 -vv比详细信息更详细的信息 -vvv是最详细的了 –list -k -C  -T  -u -b  –become-userUSERNAME指定sudo的用户  -K  四、ansible的基本颜色代表信 绿色                 ##执行成功但为对远程主机做任何改变 黄色                 ##执行成功并对远程主机做改变 红色                 ##执行失败 不是绝对的 五、ansible中的常用模块 1、command #功能: 在远程主机执行命令此模块为默认模块 #常用参数 chdir                 ##执行命令前先进入到指定目录 cmd                  ##运行命令指定        现在已经不加了加了可能会报错 creates             ##如果文件存在将不运行 removes           ##如果文件存在在将运行 free_form          ##在远程主机中执行的命令此参数不需要加 注意 Linux中的很多通配符在command模块中不支持  鼻祖级的模块在远程主机中运行shell命令的 不支持通配符 2、shell #功能 #和command功能类似 #常用参数 chdir                 ##执行命令前先进入到指定目录 cmd                  ##运行命令指定 creates             ##如果文件存在将不运行 removes            ##如果文件存在在将运行 free_form          ##在远程主机中执行的命令此参数不需要加 executable         ##指定执行环境默认为sh 可以使用通配符 chdir executable 3、script  #功能:在ansible主机中写好的脚本在受控主机中执行 #实例 vim /mnt/westos.sh #!/bin/bash echo $HOSTNAME ansible all -m script -a /mnt/westos.sh -k 已经没有东西了 4、copy  #功能从ansible主机复制文件到受控主机 #常用参数 src                                 ##源文件 dest                               ##目的地文件 owner                            ##指定目的地文件所有人 group                             ##指定目的地文件所有组 mode                             ##指定目的地文件权限 backupyes                   ##当受控主机中存在文件时备份原文件 content                          ##指定文本内容直接在受控主机中生成文件 复制成功 content 会把已经有的文件覆盖掉 backupyes 已经有的文件需要备份 5、fetch #功能从受控主机把文件复制到ansible主机,但不支持目录 #常用参数 src                 ##受控主机的源文件 dest               ##本机目录 flat                 ##基本名称功能 flat  如果我不想要这个目录的名字 6、file 无论是copy还是fetch都是通过源来控制如果我们希望通过属性来控制就可以用file  #功能设置文件的属性 #常用参数 path                          ##指定文件名称 state                         ##指定操作状态                                  ##touch 建立                                  ##absent 删除                                  ##directory 递归                                  ##link 建立软链接                                  #hard 建立硬链接 mode                        ##设定权限 owner                       ##设定文件用户 group                        ##设定文件组 src                            ##源文件 dest                          ##目标文件 recurseyes             ##递归更改 建立文件时指定方式 建立成功  建立目录时指定方式 建立成功  建立文件时指定是链接 软链接 硬链接 mode 设定权限  针对文件 针对于目录 创建一个file文件 想修改目录连带目录中文件的权限 7、 unarchive #功能解压缩 #常用参数 copy                                 ##默认为yes 从ansible主机复制文件到受控主机                                          ##设定为no 从受控主机中寻找src源文件 remote_src                       ##功能同copy且相反                                          ##设定为yes 表示包在受控主机                                          ##设定为no表示包在ansible主机 src                                    ##包路径可以使ansible主机也可以使受控主机 dest                                  ##受控主机目录 mode                                ##加压后文件权限 copyyes mode参数必须和copy参数配合使用 8、archive #作用压缩 #常用参数 path                                 ##打包目录名称 dest                                 ##声称打包文件名称 format                              ##打包格式 owner                              ##指定文件所属人 mode                               ##指定文件权限 9、hostname #作用管理主机名称主机名修改模块 #常用参数 name                                ##指定主机名称#实例 修改主机名 10、cron #作用计划任务设定定时任务 #常用参数 minute                                 ##分钟 hour                                     ##小时 day                                      ##天 month                                  ##月 weekday                              ##周 name                                   ##任务名称 job                                       ##任务脚本或命令 disabled                               ##yes 禁用计划任务                                             ##no 启动计划任务 state                                    ##absent 删除计划任务 查看 disable注释 stateabsent删除 11、yum_repository #作用配置系统软件仓库源文件 #常用参数 name                                    ##指定仓库名称 baseurl                                 ##指定源路径 description                            ##指定仓库描述 file                                         ##指定仓库文件名称 enabled                                 ##仓库是否启用 gpgcheck                              ##仓库是否检测gpgkey state                                      ##默认值present 建立                                               #absent 为删除 查看当前目录下文件 ansible all -m shell -a ls /etc/yum.repos.d 添加AppStream ansible all -m yum_repository -a nameAppStream filewestos baseurlhttp://192.168.1.10/rhel8.6/AppStream gpgcheckno descriptionAppStream enabledyes statepresent 注意filexxx时不要跟.repo的后缀他会自动补全 添加BaseOS ansible all -m yum_repository -a nameBaseOS filewestos baseurlhttp://192.168.1.10/rhel8.6/BaseOS gpgcheckno descriptionBaseOS enabledyes statepresent 取消添加 ansible all -m yum_repository -a nameBaseOS filewestos stateabsent 12、dnf #作用管理系统中的dnf仓库及管理软件 #常用参数 name                                       ##指定包 state                                        ##指定动作                                                 #present 安装                                                 #latest 更新                                                 #absent 删除 list                                            ##列出指定信息                                                 # httpd                                                 # installed                                                 # all                                                 # available disable_gpg_check                 #禁用gpgkey检测 enablerepo                              ##指定安装包来源disablerepo ##禁用安装包来源 安装 卸载 同时卸载掉依赖性 不检测gpg 13、service #作用管理系统服务状态 #常用参数 name                                         ##指定服务名称 state                                          ##指定对服务的动作                                                   #started                                                   #stoped                                                   #restarted                                                   #reloaded enabled                                     ##设定服务开机是否启动                                                   #yes开启启动                                                   #no开机不启动 启动服务httpd并且开机自启 ansible all -m service -a namehttpd statestarted enableyes 14、firewalld #作用 设置火墙 #常用参数 zone                                          ##火墙的域 service                                       ##服务名称 permanent                                 ##永久生效 state        enabled                               ##允许        disabled                              ##拒绝 immediate                                  ##立即生效 现在不能访问因为火墙没有设定 设定火墙 15、user #作用模块可以帮助我们管理远程主机上的用户比如创建用户、修改用户、删除用户、为用户创建密钥对等操作 #常用参数 name                                         ##必须参数用于指定要操作的用户名称。 group                                         ##指定用户所在的基本组。 gourps                                        ##指定用户所在的附加组。 append                                       ##指定添加附加组默认值为no shell                                           ##指定用户的默认 shell。 uid                                              ##指定用户的 uid 号。 comment                                    ##指定用户的注释信息。 state                                           ##用于指定用户是否存在于远程主机                                                    #present 建立                                                    #absent 删除 remove                                       ##当删除用户是删除用户家目录默认值为nopassword ##此参数用于指定用户的密码但密码为明文。                                                     ##可以用openssl password -6 密码生成加密字符 generate_ssh_key                       ##生成sshkey 用户建立 改用户密码 填写到下面密码的部分 使用passwd -6 得到 一个加密字符串设定给密码 更改附加组 增加附加组  删除用户 作用相当于userdel -r 16、group #作用group 模块可以帮助我们管理远程主机上的组 #常用参数 name                                         ##用于指定要操作的组名称。 state                                          ##用于指定组的状态                                                   #present 建立                                                   #absent 删除 gid                                             ##用于指定组的gid。 创建 更改  删除  17、lineinfile path                                         ##指定要操作的文件。 line                                          ##指定文本内容。 | 表示格式化输入 regexp                                     ##使用正则表达式匹配对应的行当替换文本时                                                 ##如果有多行文本都能被匹配                                                 ##则只有最后面被匹配到的那行文本才会被替换                                                 ##当删除文本时如果有多行文本都能被匹配                                                 ##这么这些行都会被删除。 state                                        ##当想要删除对应的文本时需要将state参数的值设置为absent                                                 #state的默认值为present。 backrefs                                   ##当内容无匹配规则时不对文件做任何更改,默认值为no                                                  ##向后引用regexp变量信息 insertafter                                 ##借助insertafter参数可以将文本插入到“指定的行”之后                                                  ##insertafter参数的值可以设置为EOF或者正则表达式 insertbefore                              ##借助insertbefore参数可以将文本插入到“指定的行”之前                                                  #insertbefore参数的值可以设置为BOF或者正则表达式 backup                                      ##是否在修改文件之前对文件进行备份。 create                                        ##当要操作的文件并不存在时是否创建对应的文件。 当文件不存在的时候自动建立文件 还想继续往文件中写内容没有匹配的就会自动写在后面 替换关键字 只替换符合条件的最后一行内容 删除 会删除符合条件的所有行 无匹配规则时会把内容添加到最后一行 向后引用regexp的变量 比方说我们要替换替换的内容是一个变量 h开头后4个字符 w开头后5个字符 向后引用为1 backrefsno时就不向后引用了 在什么之前加和在什么之后加 18、replace #作用replace 模块可以根据我们指定的正则表达式替换文件中的字符串文件中所有被匹配到的字符串都会被替换 #常用参数 path                                         ##指定要操作的文件 regexp                                     ##指定一个正则表达式                                                 #文件中与正则匹配的字符串将会被替换。 replace                                    ##指定最终要替换成的字符串。 backup                                     ##是否在修改文件之前对文件进行备份最好设置为yes。 查看替换的内容 查看备份 19、setup #作用setup模块用于收集远程主机的一些基本信息 #常用参数 filter                                         ##用于进行条件过滤。如果设置仅返回匹配过滤条件的信息 20、debug #作用调试模块用于在调试中输出信息 #常用参数 msg                                       ##调试输出的消息 var:                                           ##将某个任务执行的输出作为变量传递给debug模块                                                  ##debug会直接将其打印输出 verbosity                               ##debug的级别默认是0级全部显示 如果显示的内容是变量需要使用var来显示  debug类似于echo命令 总结 这一章节的内容主要是 Ansible中的常用模块内容非常多希望大家可以多加练习。