Push GIT por hora

9

¿Es posible para mí automatizar un empuje Git cada hora a través de un script por lotes.

Normalmente escribiría esto:

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

¿Cómo puedo automatizar esto?

ir-g
fuente

Respuestas:

8

Sí, puedes hacer esto con cron. Para agregar una tarea a cron, debe ejecutar

crontab -e

La sintaxis debe especificarse en un comentario en la última línea, pero lo explicaré de todos modos:

Comando mh dom mon dow En orden: estos son el minuto, la hora, la fecha del mes, el mes, el día de la semana y el comando que se ejecuta en este momento.

Entonces, para ejecutarlo cada hora, querrás:

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

Lo que significa ejecutar el script en el minuto 0 de cada hora de cada día, etc.

Donde /home/username/bin/git-backup-script.sh es un script de shell que hace todo lo que mencionaste (¡aunque no olvides cd al directorio correspondiente en él!)

Scott
fuente
Guión editado para resolver el problema. En la lista en cuestión, ¡gracias por la ayuda de Cron!
ir-g
Oh, dulce, no sabía que pudieras poner la autenticación Github así con Git, ¡qué bueno! :)
Scott
Ese método utiliza los parámetros de nombre de usuario y contraseña http relativamente desconocidos, no utilizados por muchos sitios. EG: username:[email protected]
ir-g
1
Sí, sabía que podía hacer la autenticación HTTP de esa manera, simplemente no se me ocurrió que podría usarlo para Github por alguna razón. ¡Frio!
Scott
Eso funciona igual para la mayoría de los servicios git en línea que usan HTTP.
ir-g