ansible命令应用基础

ansible命令应用基础:

    Usage: ansible <host-pattern> [-f forks] [-m module_name][-a args]
        -f forks:启动的并发线程数
        -m module_name:要使用的模块
        -a args:模块特有的参数

常见模块:
ansible-doc -s 模块 --查看模块使用参数

  • command:命令模块,默认模块,用于在远程执行命令:
    ansible all -a 'ping'

  • cron: 定时模块
    state:
    present,latest表示安装,absent表示卸载
    ansible web -m cron -a 'minute="*/2" job="/bin/echo hello" name="test cron job"'

minute表示分钟,hour表示小时,day表示日期,month表示月份,weekday表示周,如果没写则默认为 *

删除cron计划

ansible testhost -m cron -a "name='test cron' state=absent"

ansible all -m cron -a "minute=* hour=*/1 day=* month=* weekday=* name='Delete Docker logs' job='truncate -s 0 /var/lib/docker/containers/*/*-json.log'"

ansible all -m cron -a "name='Delete Docker logs' state=absent"
  • user: 定义用户模块
    name=: 指明创建的用户的名字
    ansible web -m user -a 'name=mysql uid=306 system=yes group=mysql'
    group=: 创建组
    ansible web -m group -a 'name=mysql gid=306 system=yes'

  • copy: 复制模块
    src=:定义本地源文件
    dest=:定义远程目标文件路径
    content=:取代src=,表示直接用此处指定的信息生成为目标文件内容:
    ansible all -m copy -a 'src=/etc/fstab dest=/tmp/fstab.ansible owner=root mode=640'

file:设定文件属性
path=:指定文件路径,可以使用name取dest来替换
创建文件的符号链接:
src=:指明源文件
path=:指明符号链接文件路径
ansible all -m file -a 'path=/tmp/fstab.link src=/tmp/fstab.ansible state=link'

  • ping:测试指定主机是否能连接
    ansible all -m 'ping'

  • service:指定运行状态:
    enabled=:是否开机自动启动,取值为true或者false
    name=:服务名称
    state=:状态 取值有started,stopped,restarted

  • shell:在远程主机上运行命令
    尤其是用到管道等功能的复杂命令

  • script:将本地脚本复制到远程主机并运行之:
    注意:要适用相对路径指定脚本

#vim ansible.sh
#chmod +x ansible.sh
#ansible all -m script -a '/root/ansible.sh'
  • yum:安装程序包
    name=:指明要安装的程序包,可以带上版本号
    state=:present,latest表示安装,absent表示卸载
    ansible all -m yum -a "name=lrzsz "

  • setup:收集远程主机的facts
    每个被管理节点在接受并运行管理命令之前,会将自己主机相关信息,如操作系统版本,IP地址等报告给远程的ansible主机。
    ansible all -m setup

posted @ 2018-05-26 19:08  西门运维  阅读(731)  评论(0编辑  收藏  举报