常用模块
ping
ansible all -m ping
fetch
# ansible-doc -s fetch 从远端拉取文件
ansible 127.0.0.1 -m fetch -a "src=/etc/hosts dest=/tmp mode=0755 owner=test"
copy
ansible 127.0.0.1 -m copy -a "src=/etc/hosts dest=/tmp/hosts mode=0755 owner=test"
file
# ansible-doc -s file 创建/删除 文件/目录/软连接
ansible 127.0.0.1 -m file -a "path=/tmp/a.log state=touch owner=test mode=0600"
ansible 127.0.0.1 -m file -a "path=/tmp/a.log state=absent"
ansible 127.0.0.1 -m file -a "path=/tmp/a/b state=directory recurse=yes"
ansible 127.0.0.1 -m file -a "path=/tmp/a state=absent"
ansible 127.0.0.1 -m file -a "path=/tmp/a state=link src=/etc/hosts"
command
ansible 127.0.0.1 -m command -a "chdir='/' ls -a"
shell
# 支持管道,command 不支持
ansible 127.0.0.1 -m shell -a "chdir='/' ls -a|wc"
script
# /tmp/1.sh 在运维主机
ansible 127.0.0.1 -m script -a "chdir='/' /tmp/1.sh"
systemd
ansible all -m systemd -a "daemon-reload=yes"
ansible all -m systemd -a "name=network state=restarted enabled=yes"
set_fact
设置变量
ansible 127.0.0.1 -m set_fact -a "ip: '127.0.0.1' port=8000"
setup
设置变量
ansible 127.0.0.1 -m setup
command 和shell 可以说是一个万能模块,如果运维中不知道ansible 中哪个模块可以实现你的功能,这个时间他们哥俩想必可以帮上忙