在本机写了一个shell脚本,关于操作mysql的,在本机执行脚本可以正常操作数据库,脚本运行正常。
但是使用ansible
ansible -i ./hosts test_teledb -m copy -a "src=/etc/ansible/scripts/check.sh dest=/tmp"ansible -i ./hosts test_teledb -m shell -a "sh /tmp/check.sh"
却报错
mysql :command not found
解决办法
通过在脚本中输出 whoami 查看ansible推送的脚步执行用户,如果用户是正确的,在脚本的头部位置添加
source ~/.bash_profile