Partage
  • Partager sur Facebook
  • Partager sur Twitter

Tâche cron pour un git pull

    22 mars 2015 à 20:26:11

    Bonjour,

    Tout est dans le titre.. 

    Voici mon script sh lancé en cron :

    #!/bin/sh
    cd /var/www/
    git pull origin master
    

    Sauf que quand je l'execute en console ça fonctionne mais le script ne s'execute pas (ou pas correctement) en tâche cron.

    J'ai fait une commande pour que la passphrase soit mémorisée mais du coup ça à l'air de ne pas fonctionner en cron.

    Auriez-vous une idée ? Ca ne doit pas être si compliqué que ça.. Je n'ai pourtant rien trouvé :/

    Merci pour votre aide :)

    • Partager sur Facebook
    • Partager sur Twitter
      22 mars 2015 à 20:50:28

      J'ai généré une nouvelle clé SSH pour root sans passphrase mais toujours rien :/
      • Partager sur Facebook
      • Partager sur Twitter
        24 mars 2015 à 12:04:55

        Salut,

        Avec les fichiers de cron (crontab ou autre) cela serait plus facile de t'aider.

        • Partager sur Facebook
        • Partager sur Twitter
          24 mars 2015 à 13:31:26

          0 0 * * * /var/scripts/backup_bdd_undershift.sh
          1 0 * * * /var/scripts/clean-backups.sh
          2 0 * * * /var/scripts/backup_files_undershift.sh
          */2 * * * * /var/script/update_git.sh >> crongitlog.log
          Voilà !

          -
          Edité par Snktre59 24 mars 2015 à 13:31:39

          • Partager sur Facebook
          • Partager sur Twitter
            24 mars 2015 à 13:47:13

            Tu devrais rediriger la sortie d'erreur dans crongitlog.log également pour pouvoir voir les erreurs.

            Sinon je ne sais pas qu'elle version de git tu utilises mais avec une version récente tu n'as même pas besoin de faire de script. Tu peux utiliser l'option -C :

            git -C /var/www pull origin master

            Sinon utiliser git avec un cron pour mettre à jour son site c'est vraiment pas un bonne pratique encore plus lorsque tu utilises une branche non dédiée. En plus avec juste un pull tu peux te retrouver dans le cas ou tu vas devoir faire un merge et la cela ne va pas marcher. Il vaut mieux utiliser reset par exemple :

            git -C /var/www fetch origin master && git -C /var/www reset --hard origin/master



            • Partager sur Facebook
            • Partager sur Twitter
              24 mars 2015 à 14:15:24

              Ta commande ne fonctionne pas.. :/ 

              Ca doit être l'authentification qui pose problème..

              • Partager sur Facebook
              • Partager sur Twitter
                24 mars 2015 à 17:16:01

                Ma commande marche uniquement sur les versions récente de git c'est peut être pour cela que cela ne marche pas.

                "Ca doit être l'authentification qui pose problème.."

                Ce n'est pas plus simple de regarder les erreurs au lieu d'essayé de jouer aux devinettes ?

                Au mon avis c'est que tu lances ton script en tant avec le mauvais utilisateur (cron surement).

                • Partager sur Facebook
                • Partager sur Twitter

                Tâche cron pour un git pull

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown