ansible命令模块

ansible的三个命令模块:command、shell、raw,这三个模块的参数就直接输入命令即可。


1: ansible模块command(不支持管道,不建议使用)
ansible all -m command -a "pwd"
ansible all -m command -a "df -h|grep vda1"
ansible all -m command -a "df -h >>/tmp/shijiange"


2: ansible模块shell(支持管道)
ansible all -m shell -a "df -h|grep vda1" #支持管道
ansible all -m shell -a "df -h >>/tmp/shijiange" #支持重定向
ansible all -m shell -a "cat /etc/passwd|awk -F':' '{print \$1}'" #得进行转义


3: ansible模块raw,最原始ssh的方式运行命令
ansible all -m raw -a "yum install python-simplejson -y"
ansible all -m raw -a "yum install libselinux-python -y"


4: copy模块的参数,ansible 主机组 -m copy -a ''
src: 指定源文件或目录
dest: 指定目标服务器的文件或目录
backup: 是否要备份
owner: 拷贝到目标服务器后,文件或目录的所属用户
group: 拷贝到目标服务器后,文件或目录的所属群组
mode: 文件或目录的权限
下发文件
ansible all -m copy -a "src=/tmp/shijiange/shijiange1.txt dest=/usr/local/src/"
下发文件夹
ansible all -m copy -a "src=/tmp/shijiange/ dest=/usr/local/src/" #shijiange目录不会拷贝
ansible all -m copy -a "src=/tmp/shijiange dest=/usr/local/src/" #shijiange目录会拷贝
自动备份
ansible all -m copy -a "src=/tmp/shijiange/shijiange1.txt dest=/usr/local/src/ backup=yes"
控制所属的用户和指定权限
ansible all -m copy -a "src=/tmp/shijiange/shijiange1.txt dest=/usr/local/src/ backup=yes owner=nobody group=nobody mode=0600"


5:script模块,批量运行本地shell脚本
ansible all -m script -a "/usr/local/src/script"

猜你喜欢

转载自www.cnblogs.com/dhzg/p/11275707.html
今日推荐