Execution d'un script bash en PHP
Salut.
Pour terminer mon projet, j'ai besoin d'éxecuter un script de remplacement de fichiers via apache. J'ai donc donner les autorisations d'executions avec visudo et lorsque j'execute le fichier en me connectant à la console en tant qu'apache, ça fonctionne.
Mais lorsque je veux automatiser avec PHP, ça ne va plus...
Code:
$exec = shell_exec('sudo /usr/local/nconf/ADD-ONS/deploy_local.sh');
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| #!/bin/bash
OUTPUT_DIR="/usr/local/nagiosplus/nagioscfg/etc/BonneCfg/"
NAGIOS_DIR="/usr/local/nagios/etc/"
TEMP_DIR=${NAGIOS_DIR}"import/"
CONF_ARCHIVE="NagiosConfig_3_pc.tgz"
CMDPATH="/usr/local/nagios/var/rw/nagios.cmd"
if [ ! -e ${TEMP_DIR} ] ; then
mkdir -p ${TEMP_DIR}
fi
if [ ${OUTPUT_DIR}${CONF_ARCHIVE} -nt ${TEMP_DIR}${CONF_ARCHIVE} ] ; then
sudo cp -p ${OUTPUT_DIR}${CONF_ARCHIVE} ${TEMP_DIR}${CONF_ARCHIVE}
sudo tar -xf ${TEMP_DIR}${CONF_ARCHIVE} -C ${NAGIOS_DIR}
sudo rm -rf ${TEMP_DIR}${CONF_ARCHIVE}
fi
exit |
A NOTER : dans visudo, j'ai pris garde à ne pas demander de mots de passe !
Les droits du script :
Code:
-rwxr-xr-x 1 apache apache 534 2 juin 10:49 /usr/local/nconf/ADD-ONS/deploy_local.sh
Merçi d'avance.