Ansible ad-hoc支架扩展

是否可以在ad-hoc命令中使用括号扩展? 我正在尝试做:

ansible web3 -m shell -a "sudo gzip /var/opt/tomcat/logs/appname.log.2015-05-2{4..7}" -K 

但它被解释为一个string。 这是我可能需要使用xargs的情况吗?

主机web3是最近的Debian / Ubuntu服务器,其中/bin/sh实际上是破折号 ? 括号扩展不被它支持。 您可能需要指定executable选项到shell模块 。

 $ ansible -i localhost, all -m shell -a 'ls /var/log/syslog.{2..4}.gz' localhost | FAILED | rc=2 >> ls: cannot access /var/log/syslog.{2..4}.gz: No such file or directory $ ansible -i localhost, all -m shell -a 'ls /var/log/syslog.{2..4}.gz executable=/bin/bash' localhost | success | rc=0 >> /var/log/syslog.2.gz /var/log/syslog.3.gz /var/log/syslog.4.gz