无聊的IT

导航

1-3 ansible ad-hoc模式

(jiankong_venv) [yy1s@rbtnode1 ansible]$ ansible 144.131.252.14* -a 'ls /tmp'  #匹配某些主机

  
(jiankong_venv) [yy1s@rbtnode1 bin]$ pwd
/home/yy1s/django/jiankong_venv/bin
(jiankong_venv) [yy1s@rbtnode1 bin]$ ansible-doc -l #ansible ad-hoc模式下支持的模块名称

[yy1s@rbtnode1 ansible]$ view hosts

[test_group2]
144.131.252.142 ansible_ssh_user=yy1s
144.131.252.144 ansible_ssh_user=yy1s ansible_ssh_pass='yy1s'
[test_group3]
144.131.252.252 ansible_ssh_user=yy1s ansible_ssh_pass='yy1s'
144.131.252.162 ansible_ssh_user=root ansible_ssh_pass='root'
144.131.252.163 ansible_ssh_user=ro ansible_ssh_pass='root'

[test_group1:children]
test_group2
test_group3

#使用ping模块
(jiankong_venv) [yy1s@rbtnode1 ansible]$ ansible test_group1 -m ping

#使用shell模块 -f 5个并发
(jiankong_venv) [yy1s@rbtnode1 ansible]$ ansible test_group1 -m shell -a "echo $HOSTNAME" -f 5

#使用copy模块 -l 表示只复制到过滤的主机,可以用正则来匹配
(jiankong_venv) [yy1s@rbtnode1 ansible]$ ansible test_group1 -m copy -a "src=/etc/hosts dest=/tmp" -f 5 -l 144.131.252.162

#使用setup模块展示系统信息 -a可以过滤里面的某个参数信息
(jiankong_venv) [yy1s@rbtnode1 ansible]$ ansible test_group1 -m setup -a "filter=ansible_distribution"

#使用yum模块安装软件 state=present代表如果没安装则安装,安装了则忽略,state还可以为latest更新版本 removed删除软件
(jiankong_venv) [yy1s@rbtnode1 ansible]$ ansible test_group1 -m yum -a "name=telnet state=present" -f 5 -l 144.131.252.162

#启动远程服务
(jiankong_venv) [yy1s@rbtnode1 ansible]$ ansible test_group1 -m service -a "name=nginx state=started" -f 5 -l 144.131.252.162

  

posted on 2019-02-12 16:37  秦寒  阅读(119)  评论(0)    收藏  举报