License: Attribution-NonCommercial-ShareAlike 4.0 International
本文出自 Suzf Blog。 如未注明,均为 SUZF.NET 原创。
ansible 执行远程脚本 首先创建一个shell脚本
cat > /tmp/test.sh << EOF #!/bin/bash echo \`date\` EOF
然后把该脚本分发到各个机器上
ansible -i .ansible.hosts alpha -m copy -u lucy -k -a 'src=/tmp/test.sh dest=/tmp/test.sh mode=0755' # ansible testhost -m copy -a "src=/tmp/test.sh dest=/tmp/test.sh mode=0755"
最后是批量执行该shell脚本
ansible -i .ansible.hosts alpha -m shell -u lucy -k -a 'bash /tmp/test.sh' # ansible testhost -m shell -a "/tmp/test.sh"
shell模块,还支持远程执行命令并且带管道
ansible -i .ansible.hosts alpha -m shell -u lucy -k -a 'cat /etc/passwd | wc -l' # ansible testhost -m shell -a "cat /etc/passwd|wc -l "