Error al ejecutar un script de Linux mediante ansible.
Intento ejecutar un script de linux con el módulo shell, pero obtengo el siguiente error:
/bin/sh: sh: comando no encontrado.
Para ejecutar este script de linux, necesito hacerlo con un usuario diferente (oracle) al que utilizo para conectarme.
Esta es la tarea del playbook:
- name: Execute
become: true
become_user: oracle
become_method: sudo
shell: sh ora_expdp_partition.sh P_05_2021
args:
chdir: /fuentes01/vasmonitor
environment:
ORACLE_BASE: /oracle/oracle/app/oracle
LD_LIBRARY_PATH: /oracle/oracle/app/oracle/product/12.2.0/dbhome_1/lib:/lib:/usr/lib:/usr/lib64
ORACLE_HOME: /oracle/oracle/app/oracle/product/12.2.0/dbhome_1
PATH: /usr/sbin:/oracle/oracle/app/oracle/product/12.2.0/dbhome_1/bin:/usr/local/bin
CLASSPATH: /oracle/oracle/app/oracle/product/12.2.0/dbhome_1/jlib:/oracle/oracle/app/oracle/product/12.2.0/dbhome_1/rdbms/jlib
En esta tarea necesito ejecutar el script con el usuario oracle.
Cuando ejecuto el script manualmente con el usuario oracle, funciona.
davy.ai
Para resolver el error, necesitas agregar la siguiente línea a la tarea:
Esto asegurará que el script sea ejecutado con el shell correcto.