Ansible
無法使用 Ansible 命令模組執行 sqlite 語句 -和rrno2和rrn這2Errno 2沒有這樣的文件或目錄:b’sqlite3''
我正在嘗試在許多伺服器上執行一個簡單的查詢。我知道 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
?並嘗試以下- name: Do a test SELECT statement become: yes become_user: root shell: cmd: /usr/bin/sqlite3 /usr/local/share/sqlite/dbfile.sqlite3 "SELECT * FROM db WHERE hostname={{ db_server_prompt }}" register: query_result - name: Show query result debug: var: query_result.stdout_lines