ansible執行shell模塊和command模塊報錯| FAILED | rc=127 >> /bin/sh: lsof: command not found和| rc=2 >> [Errno 2] No such file or directory


命令:

ansible -i hosts_20 st  -m shell -a 'service zabbix_agentd star'  -K --become

ansible -i hosts_20 st  -m shell -a 'lsof -i:10050'  -K --become

 

在shell模塊報錯:| FAILED | rc=127 >>
/bin/sh: lsof: command not found

 

在command模塊報錯:| rc=2 >>
[Errno 2] No such file or directory

 

 google了一下發現ansible使用shell或者command模塊加載環境變量變了,

ansible加載的環境變量:

本機上面(192.168.20.33):

 

 

在ansible執行和在本機執行echo $pATH命令結果不一樣..........................

ansible的command模塊或者shell模塊因為沒有完全加載環境變量。

 

一個臨時的解決方法就是在ansible使用shell或者command的模塊的時候,強行改變當前系統環境變量:PAHT="/usr/local/sbin:/usr/sbin:/sbin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin";source /etc/profile;

從ansible -i hosts_20 st  -m shell -a 'lsof -i:10050'  -K --become

變成了ansible -i hosts_20 st  -m shell -a 'PAHT="/usr/local/sbin:/usr/sbin:/sbin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin";source /etc/profile;lsof -i:10050'  -K --become


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM