美文网首页
Ansible 常用命令(ad-hoc 命令)

Ansible 常用命令(ad-hoc 命令)

作者: DongGuangqing | 来源:发表于2016-12-08 23:29 被阅读368次

    Ansible提供两种方式去完成任务,一是 ad-hoc 命令,一是写 Ansible playbook.前者可以解决一些简单的任务, 后者解决较复杂的任务.(ad-hoc 命令和 ansible playbook 的关系类似于在命令行敲入shell命令和 写shell scripts两者之间的关系)

    ansible命令应用基础

    语法:  ansible <host-pattern> [-f forks] [-m module_name] [-a args]
            -f forks:启动的并发线程数;
            -m module_name: 要使用的模块;
            -a args: 模块特有的参数;
    
    # 以指定用户名运行
    ansible atlanta -a "/usr/bin/foo" -u username
    # 以sudo 运行
    ansible atlanta -a "/usr/bin/foo" -u username --sudo [--ask-sudo-pass]
    

    常用命令

    • ping模块
    ansible all -m ping
    
    • service 模块
    ansible webservs -m service -a 'enabled=true name=httpd state=started'
    
    • command: 命令模块
    ansible 192.168.1.101 -m command -a 'date'
    
    • shell:用到管道复杂命令功能时建议用shell
    ansible all -m shell -a 'echo 123..com | passwd --stdin user1'
    
    • script:在远程主机执行脚本
    ansible all -m script -a "/tmp/a.sh"
    
    • yum:安装程序包 卸载的话 state=absent
    ansible all -m yum -a "name=zsh"
    
    • file: 更改文件的属主、group
    ansible all -m file -a 'owner=mysql group=mysql mode=644 path=/tmp/fstab.ansible'
    
    • copy:
      src=: 定义本地源文件路径
      dest=: 定义远程目标文件路径
      content=: 取代src=,表示直接用此处指定的信息生成为目标文件
    ansible all -m copy -a 'src=/etc/fstab dest=/tmp/fstab.ansible owner=root mode=640'
    
    • user: 创建用户, 删除用户后面跟上 state=absent
    ansible all -m user -a 'name="user1"' 
    
    • cron模块: 让被管理节点生成定期自动运维计划
    # 让2台主机每10分钟运行一次echo hell
    ansible webservs -m cron -a 'minute="*/10" job="/bin/echo hell" name="test cron job"'
    
    • git 模块: 使用 git 部署 webapp
    ansible webservers -m git -a "repo=git://foo.example.org/repo.git dest=/srv/myapp version=HEAD"
    

    相关文章

      网友评论

          本文标题:Ansible 常用命令(ad-hoc 命令)

          本文链接:https://www.haomeiwen.com/subject/haxemttx.html