GIT Push horaire

9

Est-il possible pour moi d'automatiser un push Git toutes les heures via un script batch.

Je tape généralement ceci:

git add *
git commit -m "latest update"
git push https://username:password@github.com/username/repository.git master

Comment puis-je automatiser cela?

ir-g
la source

Réponses:

8

Oui, vous pouvez le faire avec cron. Pour ajouter une tâche à cron, vous devez exécuter

crontab -e

La syntaxe devrait être spécifiée dans un commentaire sur la dernière ligne, mais je l'expliquerai quand même:

Commande mh dom mon dow Dans l'ordre: ce sont la minute, l'heure, la date du mois, le mois, le jour de la semaine et la commande à exécuter à ce moment.

Donc, pour l'exécuter toutes les heures, vous voudriez:

0 * * * * /home/username/bin/git-backup-script.sh

Ce qui signifie exécuter le script à la 0e minute de chaque heure de chaque jour, etc.

Où /home/username/bin/git-backup-script.sh est un script shell qui fait tout ce que vous avez mentionné (mais n'oubliez pas de cd dans le répertoire correspondant!)

Scott
la source
Script modifié pour résoudre le problème. Répertorié en question, merci pour l'aide de Cron!
ir-g
Oh, chéri, je ne savais pas que tu pouvais mettre l'authentification Github comme ça avec Git - sympa! :)
Scott
Cette méthode utilise les paramètres de nom d'utilisateur et de mot de passe http relativement inconnus, non utilisés par de nombreux sites. EG: username:[email protected]
ir-g
1
Ouais, je savais que vous pouviez faire une authentification HTTP comme ça, il ne m'est tout simplement pas venu à l'esprit que vous pouviez l'utiliser pour Github pour une raison quelconque. Cool!
Scott
Cela fonctionne de la même manière pour la plupart des services git en ligne utilisant HTTP.
ir-g