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

时间: 2024-10-07 17:34:32

ansible执行shell模块和command模块报错| FAILED | rc=127 >> /bin/sh: lsof: command not found和| rc=2 >> [Errno 2] No such file or directory的相关文章

Linux报错第一弹: /bin/sh^M: bad interpreter: No such file or directory

从Windows Sublime 写好一shell脚本,移到 Linux下,发现报错,/bin/sh^M: bad interpreter: No such file or directory 原因:这是不同系统编码格式引起的:在 windows系统中编辑的 .sh文件可能有不可见字符,所以在 Linux系统下执行会报以上异常信息. 解决: 1)在 windows下转换: 利用一些编辑器如 UltraEdit或 EditPlus等工具先将脚本编码转换,再放到 Linux中执行.转换方式如下( U

CentOS7 crontab 不执行,报错 /bin/sh: root: command not found

使用CentOS7 执行定时脚本,结果提示报错: /bin/sh: root: command not found 问题在于文件 /var/spool/cron/root ,中无需再写root. 修改之后的脚本: [[email protected] cron]# crontab -l */10 * * * * perl /home/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.zbphp.com >> /sbin/null 2&

MySQL执行外部sql脚本文件命令报错:unknown command '\'

由于编码不一致导致的 虽然大部分导出是没有问题的 但是数据表中存储包含一些脚本(富文本内容)会出现该问题,强制指定编码即可解决. mysql导入时指定编码: mysql -u root -p --default-character-set=utf8 或者在导出时后显式指定编码就不存在这个问题了: mysqldump -uroot -p --default-character-set=utf8 mydb > E://xxxx.sql MySQL执行外部sql脚本文件命令报错:unknown com

关于socket模块获取ip失败报错

问题:socket模块获取ip失败报错 In [64]: import socket In [71]: socket.gethostname() Out[71]: 'web01' In [72]: host_name = socket.gethostname() In [73]: socket.gethostbyname(host_name) --------------------------------------------------------------------------- g

执行ng build --prod --aot命令报错

D:\git\**\src\main\iui>ng build --prod --aotHash: 257ab60feca43633b6f7Time: 25358mschunk {0} polyfills.221420fde500aaed5079.bundle.js (polyfills) 184 kB {5} [initial] [rendered]chunk {1} scripts.92391f7b3a5602225e85.bundle.js (scripts) 185 kB {5} [in

fetch 报错 Failed to execute 'fetch' on 'Window': Request with GET/HEAD method cannot have body.

TypeError: Failed to execute 'fetch' on 'Window': Request with GET/HEAD method cannot have body. 在"窗口"上执行"取"失败:GET / get方法的请求不能有正文. GET requests can't have a request body, you can't make them have one. GET requests only retrieve data,

Vue.js报错Failed to resolve filter问题原因

Vue.js报错Failed to resolve filter问题原因 金刚 vue Vue.js js javascript 之前使用vue.js写分页功能时,写了一个过滤器,发现一个比较奇怪的错误. console控制台调试的时候 提示错误消息: Failed to resolve filter: HomePage console错误信息.jpg 我原来的写法: 原来的错误写法.jpg 错误原因 经过自己的摸索,后来发现竟然是代码顺序错误问题... 由于先执行的pageList,后执行的V

mvn install 报错Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2 错误: 找不到符号

报错信息 在Eclipse中执行mvn install时,console端显示如下报错信息: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project ERP: Compilation failure: Compilation failure: [ERROR] \test01\src\main\java\HStyl

解决;R语言使用sqldf库是报错"Failed to connect to database: Error: Access denied for user '..'@'localhost' (using password: NO) Error in !dbPreExists : invalid argument type"

原因:在使用sqldf时,不需要加载RMySQL库 解决方案:在控制台执行释放RMySQL库加载 detach("package:RMySQL", unload=T); 解决;R语言使用sqldf库是报错"Failed to connect to database: Error: Access denied for user '..'@'localhost' (using password: NO) Error in !dbPreExists : invalid argume