Résultat : exec,shellexec,passthru,system (rsync ) ?

DtekT
Invité n'ayant pas de compte PHPfrance

27 janv. 2006, 17:36

Bonjour à tous,
voila je cherche à obtenir le résultat d'un rsync que je fai par php, voila le script:
for($i=1;$i<=$total;$i++) {
exec ("/usr/bin/rsync --force --ignore-errors -Rrgop $fin[$i] -e ssh 172.25.56.2:/home/restore ");
echo "<br /> $fin[$i]";
}
maintenant j'aimerai connaitre le résultat (0 ou 1)?? si le résultat est bon, lorsque l'on fait echo $? en ligne de commande on otient 0.
la je rajoute dans le for
$return = exec ("/bin/echo $?")
echo "$return";
mais j'obtiens toujous 0 meme lorsque ca n'a pas marché...
j'ai essayé autrement
passthru ("/usr/bin/rsync --force --ignore-errors -Rrgop $fin[$i] -e ssh 172.25.56.2:/home/restore ",$return);
echo "<br /> $return";
et j'obtient des lignes comme ca:
rwx------ 120 2006/01/27 16:08:50 home/restore/mnt/sauve/gds/sauvegarde-horaire/gil.... etc

que ce soit avec passthru,system,shell_exec c'est la meme chose... auriez vous une idée pour que je puisse controler le résultat de la commande rsync??
merci

Eléphant du PHP | 413 Messages

30 janv. 2006, 12:41

salut,

et si tu fais "echo $?" dans la meme ligne de commande que le rsync ? comme ça :
$return = exec ("/usr/bin/rsync --force --ignore-errors -Rrgop $fin[$i] -e ssh 172.25.56.2:/home/restore ; echo $?"); 
--
Goeb

DtekT
Invité n'ayant pas de compte PHPfrance

30 janv. 2006, 17:18

merci goeb! ca marche mieux comme ca