Forum Linux.général exec et rsync

Posté par  .
Étiquettes : aucune
0
21
mar.
2005
bonjour,
J'ai un probleme avec rsync.
j'ai un shell permettant une synchronisation de données entre 2 répertoires (dev vers prod).
Le shell lancé en ligne de commande sure le serveur fonctionne.
Le shell lancé par un fichier php avec une commande exec, fonctionne s'il est lancé en ligne de commande sur le serveur. Mais le même fichier php lancé par un navigateur ne fonctionne pas.
J'ai également essayé de lancer d'autres commandes systèmes (touch, rm) par le fichier php et le navigateur elles fonctionnent mais toujours pas rsync.
Je suis un peu perdu. Et depuis que je patauge, c'est devenu très urgent.
Cordialement
  • # variables d'environnements ...

    Posté par  (site web personnel) . Évalué à 2.

    Ton script utilise probablement des variables d'environnements qui ne sont pas définies pareil pour ton shell interactif et pour httpd.

    Un petit

    env > /tmp/dump-env

    au début du script te permet de récupérer l'environnement. Ensuite, un "diff" entre les deux fichiers obtenus et hop !
    • [^] # Re: variables d'environnements ...

      Posté par  . Évalué à 1.

      J'ai essayé, et y'a effectivement des différences.
      Je vais creuser par là.
      Merci beaucoup pour le coup de main.
    • [^] # Re: variables d'environnements ...

      Posté par  . Évalué à 1.

      Bonjour,
      Les seules différences qui subsistent concernent les variables
      BASH_ENV et ENV :
      BASH_ENV apparait dans l'environnement du script lancé par le navigateur.
      ENV apparait dans l'environnement du script lancé en ligne de commande.
      Je n'arrive pas à initialiser ENV dans le shell lui même. Y a-t-il une autre solution ?
  • # re: exec et rsync

    Posté par  . Évalué à 2.

    Cela peut etre aussi un problème de permissions.

    Lorsque tu le lances en ligne de commande, le lances tu sous le meme utilisateur que le serveur web (apache ou nobody peut etre ?)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.