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 PHP : Sélectionner tout - Visualiser dans une fenêtre à part $exec = shell_exec('sudo /usr/local/nconf/ADD-ONS/deploy_local.sh');
A NOTER : dans visudo, j'ai pris garde à ne pas demander de mots de passe !
Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
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
Les droits du script :
Merçi d'avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part -rwxr-xr-x 1 apache apache 534 2 juin 10:49 /usr/local/nconf/ADD-ONS/deploy_local.sh
Partager