Ansible 原始模块:将本地时间与目标节点时间进行比较

Ansible raw module: compare local time with target nodes time

我所有的目标机器实际上都是android并且没有python

所以我想知道每台机器的时间与我当地时间的比较。

ansible all -m raw -a "echo $(date +%s); date +%s"

不起作用,因为 $(date +%s) 从执行开始就被评估,并且有很多节点执行得更晚。

有没有延迟评估的方法?

恕我直言,出于这个目的,使用简单的 ssh 比 ansible 更容易。

如果您确实想继续使用 ansible,请查看 the --forks|-f option 就像如果您有 100 个机器人可以与之交谈:

ansible all -f 100 -m raw -a "echo $(date +%s); date +%s"

或者使用旧的 ssh:

for h in `ansible all -i inventory.ini --list-hosts`; do d=`date +%s`; ssh $h "echo $HOSTNAME - $(date +%s) - $d" & done