设为首页 收藏本站
查看: 1579|回复: 0

[经验分享] Ansible常用命令

[复制链接]

尚未签到

发表于 2018-7-29 07:01:46 | 显示全部楼层 |阅读模式
前言

  Ansible命令行工具会向指定的主机通过ssh连接发送命令。这些主机在ansible中被称为资产inventory,接下来我们会介绍inventory的配置方式


一. Inventory 配置
  资产配置可以使用可以使用IP或主机名,资产配置文件为 /etc/ansible/hosts

分组
  将同一个类别的主机放入一个组中,使用[group_name]元素定义,示例如下:
  

[dbserver]  
192.168.200.135
  
node2
  

  注意:如果使用主机名,要求能够解析主机名,我们可以通/etc/hosts解析或则DNS解析

未分组的主机
  我们需要将主机列表放在[group_name]元素之上即可,示例:
  

node1  
node2
  
[dbserver]
  
192.168.200.135
  
node2
  

  注意:主机可以在不同的组和未分组的主机列表中重复使用

主机名通配
  

www[001:009].example.com   #匹配www001.example.com 到 www009.example.com  
192.168.200.13[6:9]        #匹配192.168.200.136 到192.168.200.139
  

二. ansible-doc的使用
  ansible没有任何功能,所用的功能都由对应的模块实现,ansible-doc命令列出可用的模块以及模块使用的方法
  基本语法格式:
  ansible-doc [-l] [-s] [module...]
  options说明:
  

-l 显示所有可用模块  
-s 查看某一模块的参数
  

  示例:
DSC0000.jpg

DSC0001.jpg


三. ansible的使用

1. ansible使用语法格式
  __ansible < host-pattern > [-m module_name] [-a args]__
  < host-pattern> : 尖括号表示不可省


  • 在资产文件中的组名
  • 资产文件中的IP或主机名
  • all文件资产文件中的所有主机
  [-m module_name] :中括号表示此选项可省,此参数为模块名
  -a args :模块对应的参数,有些模块没有参数。

2. ansible中常用模块使用方法
  ping:探测主机是否存活,无参数
DSC0002.jpg

  command : 远程执行命令,但不支持管道。它是默认命令可不指明模块
DSC0003.jpg

DSC0004.jpg

  shell :远程执行命令,与command的不同在于可以使用管道
DSC0005.jpg

  cron :用于设置crontab
  

用法:  
job   执行的命令
  
state 添加crontab还是删除,present(添加),absent(删除),默认是添加
  
name 设置crontab条目的名称
  
minute,hour,day,month 设置运行的时间
  

  示例:
  添加一个crontab条目
DSC0006.jpg

  到对应主机上查看crontab条目
DSC0007.jpg

  删除crontab条目
DSC0008.jpg

  copy : 拷贝文件到远程主机
  

用法  
src :本地文件路径,可以是绝对和相对
  
dest= :不可省,如果src是目录,则dest也是目录。只能是绝对路径
  
group :指明文件属组
  
mode   :指明权限
  
owner :指明所有者
  
content :直接写出内容,并将其复制给远程主机
  

  示例:
  复制本地文件到远端主机
DSC0009.jpg

DSC00010.jpg

  直接写出要复制到远端主机的内容
DSC00011.jpg

  file
  

用法  
1. 创建链接文件
  
path=/PATH/TO/SOMEFILE src=/PATH/TO/SOMEFILE state=link
  
path指向的路径生成一个链接文件,链接文件指向src指向的路径。
  

  
2. 创建 目录
  
path=/PATH/TO/SOMEFILE state=directory
  

  
3. 删除文件
  
path=/PATH/TO/SOMEFILE state=absent
  


  • 创建连接文件
DSC00012.jpg

DSC00013.jpg



  • 创建 目录
DSC00014.jpg



  • 删除文件
DSC00015.jpg

  fetch :从远端主机获取文件
  

用法:  
src=远端主机上的文件。
  
dest=保存文件的目录
  

  示例:
DSC00016.jpg

  注意:获取的文件存放的路径为dest_dir/IP|address/src_file。
  group:添加或删除组
  

用法:  
gid :指明组ID
  
name:指明组名
  
state:创建或删除,present(创建,默认选项),absent(删除)
  
system:yes表明创建系统用户,默认是false
  

  示例:
DSC00017.jpg

  user :管理用户账号
  

用法:  
name= :用户的名称
  
uid :指明用户id号
  
state :present创建用户,absent删除用户
  
createhome :默认为yes,如果为no则不创建用户家目录
  
home :设置用户家目录
  
group :指明用户主组
  
groups : 指明用户附加组
  
password :用户加密后的值
  
shell : 设置用户使用的shell
  

  示例:
DSC00018.jpg

DSC00019.jpg

  yum:使用yum管理安装包
  

用法:  
name= : 指明管理程序包包名
  
state :present,installed表示安装程序包,latest表明安装最新版本;absent和removed表示卸载安装包。默认是安装最新版本
  

  示例:
DSC00020.jpg

DSC00021.jpg

DSC00022.jpg

  service : 管理服务
  

用法:  
name= :管理服务的名称
  
enabled : 是否开机启动
  
state : started/stopped启动或停止服务;restart重启服务;reloaded重新加载配置文件,注意如果服务没有起来会启动服务。
  

  示例:
DSC00023.jpg

DSC00024.jpg

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-542728-1-1.html 上篇帖子: ansible playbook lookups组件 下篇帖子: Ansible之playbook的使用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表