Pages : 1
#1 Le 02/08/2007, à 09:11
- shugyosha
[PHP-SHELL] Lancer un rsync
Bonjour à tous,
J'ai créé des scripts shell utilisant des rsync pour synchroniser des serveurs.Lorsque je les lance manuellement à partir du serveur où il sont, il n'y a aucun problème.
Mais je voudrais créer une interface d'administration PHP pour que ce soit plus facile de les lancer et que d'autre personnes qui ne connaissent pas forcement les scripts puissent les lancer aussi.
Pour cela j'utilise dans mon script PHP je fais :
$shell_script="sh /home/SH/sync/get_shop.sh parametres";
exec($script_shell, $script_output, $script_return);
Je precise que j'ai choisit la fonction "exec" en php car c'est la seule qui me permet de ne pas afficher les output du script (en gros il s'execute silencieusement).
Et la, surprise ... tout mon script s'execute bien SAUF le rsync qui n'est pas lancé ...
Je pense que cela provient des droits utilisateurs et qu'il faut avoir certains droits pour pouvoir lancer la commande rsync mais je ne sait pas lequels.
J'ai donc été me renseigner sur le net mais je n'est trouvé qu'une piste :
- me connecter en ssh au serveur grace a une commande du genre :
exec('ssh root@localhost '.$shell_script , $script_output, $script_return);
Mais ça ne marche pas ...
J'ai donc essayé d'installer la librairie ssh2 pour php mais je n'arrive pas a la compiler correctement ...
Je pense aussi a faire un changement d'utilisateur dans les scripts mais je ne sait pas si cela est possible.Faire quelque chose dans le genre :
su nouvel_user << password
Donc si quelqu'un a une idée pour arriver a me lancer mon script SH (et plus particulierement mon rsync) a travers une interface php, je suis preneur ;)
Dernière modification par shugyosha (Le 02/08/2007, à 09:11)
Hors ligne
Pages : 1