Ansible 常用模块:https://blog.csdn.net/pushiqiang/article/details/78249665
1、ping模块
2、raw模块
3、yum模块
4、apt模块
5、pip模块
6、synchronize模块
7、template模块
8、copy模块
9、user 模块与group模块
10、service 模块
11、get_url 模块
12、fetch模块
13、file模块
14、unarchive模块
15、command 模块和shell
并发 10 来执行
ansible-playbook playbook.yml -f 10
ansible 47.106.93.184 -m ping # 47.106.93.184在/etc/ansible/hosts里不属于任何一个组
当命令执行时间比较长时,也可以放到后台执行,这里会用到-B、-P 参数,如下:
ansible all -B 3600 -a "/usr/bin/long_running_operation --do-stuff" \\后台执行命令 3600s,-B 表示后执行的时间
ansible all -m async_status -a "jid=123456789" \\检查任务的状态
ansible all -B 1800 -P 60 -a "/usr/bin/long_running_operation --do-stuff" \\后台执行命令最大时间是 1800s 即 30 分钟,-P 每 60s 检查下状态默认 15s
command 模块不支持管道符和变量等,如果要使用这些,那么可以使用 shell 模块。
command 命令中是不支持管道符和其他的一些操作的,在使用这些命令的时候,可以选择使用 shell 模块
ansible 139.9.0.24 -m raw/shell -a 'ps auxf|grep snmp'
ansible 47.106.93.184 -m shell -a 'chdir=/tmp/361way touch test2.file' # chang the dir
ansible 47.106.93.184 -a 'creates=/tmp/361way/server.txt uptime' # 目前测试不生效,该命令新版不支持?
ansible 10.212.52.252 -a 'removes=/tmp/361way/server.txt uptime'
ansible pythonserver -m script -a "/tmp/kel.sh >/tmp/kelkel.log"
ansible webserver -a 'netstat -ulntp'
ansible all -m shell -a 'systemctl disable ufw'
ansible webservers -m service -a "name=httpd state=restarted"
给各个服务器挂载:
ansible all -m copy -a "src=/root/script/mount-disk.sh dest=/tmp/mount-disk.sh"
ansible docker-mq -m file -a "dest=/tmp/mount-disk.sh mode=700"
ansible docker-mq -a 'stat /tmp/mount-disk.sh'
ansible docker-mq -m shell -a '. /tmp/mount-disk.sh'
ansible webservers -m file -a "dest=/usr/local/src/test mode=600 owner=www group=www"
给各个服务器安装 docker.daemon.json:
ansible docker -m copy -a "src=/root/script/docker-daemon.json.sh dest=/tmp/docker-daemon.json.sh"
ansible docker -m file -a "dest=/tmp/docker-daemon.json.sh mode=700"
ansible docker -a 'stat /tmp/docker-daemon.json.sh'
ansible docker -m shell -a '/bin/bash /tmp/docker-daemon.json.sh'
ansible all -m shell -a 'systemctl stop ufw'
ansible all -m shell -a 'systemctl disable ufw'
ansible test -m ping
//copy模块, 对端host需要安装libselinux-python
ansible all -m copy -a "src=~/testfile.txt dest=/tmp/testfile.txt owner=root group=root mode=644 backup=yes" -u root
/安装Apache
ansible all -m yum -a "name=httpd state=present"
//停止Apache
ansible all -m service -a "name=httpd state=stopped" -u root
//启动Apache
ansible all -m service -a "name=httpd state=started" -u root
//查看docker组的主机磁盘容量
ansible docker -a "df -lh" -u root
//查看远程主机的内存使用情况
ansible docker -m shell -a "free -m" -u root
ansible all -m setup -a "filter=ansible_distribution*"
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于