我正在尝试在许多服务器上运行一个简单的查询。我知道 100% 有问题的文件和目录存在。
我可以执行简单的命令,例如ls
、pwd
、whoami
等,并且可以sqlite
在远程主机本身上运行命令。
剧本任务:
- name: Do a test SELECT statement
become: yes
become_user: root
command: sqlite3 /usr/local/share/sqlite/dbfile.sqlite3 "SELECT * FROM db WHERE hostname="{{ db_server_prompt }}""
register: query_result
- debug: var=query_result.stdout_lines
我收到的错误是 "msg": "[Errno 2] No such file or directory: b'sqlite3'",
.
我的语法有问题吗?为什么在使用 sqlite3 命令时它告诉我有“ No such file or directory
”?我已经尝试了可执行文件 ( /usr/bin/sqlite3
) 的绝对路径,但我得到了同样的错误。
更新我试图根据这个答案chdir
用作参数,但我得到了。我还尝试了with的绝对路径。这些都不起作用。Unable to change directory before execution
sqlite
/usr/bin/sqlite3
你可以看看ansible
raw
和shell
之间有什么区别command
?并尝试以下