Push GIT por hora

9

É possível automatizar um push do Git a cada hora por meio de um script em lote.

Normalmente, digitei isso:

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

Como posso automatizar isso?

ir-g
fonte

Respostas:

8

Sim, você pode fazer isso com o cron. Para adicionar uma tarefa ao cron, você precisa executar

crontab -e

A sintaxe deve ser especificada em um comentário na última linha, mas explicarei de qualquer maneira:

Comando mh dom mon dow Em ordem: estes são o minuto, a hora, a data do mês, o mês, o dia da semana e o comando a ser executado nesse momento.

Portanto, para executá-lo a cada hora, você deseja:

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

O que significa executar o script no minuto 0 de cada hora de cada dia, etc.

Onde /home/username/bin/git-backup-script.sh é um script de shell que faz tudo o que você mencionou (embora não esqueça de fazer o cd no diretório relevante nele!)

Scott
fonte
Script editado para resolver o problema. Listado em questão, obrigado pela ajuda do Cron!
IR-g
Oh, querida, eu não sabia que você poderia colocar a autenticação do Github assim com o Git - legal! :)
Scott
Esse método usa os parâmetros de nome de usuário e senha http relativamente desconhecidos, não usados ​​por muitos sites. EG: username:[email protected]
ir-g
1
Sim, eu sabia que você poderia fazer autenticação HTTP assim, não me ocorreu que você pudesse usá-lo no Github por algum motivo. Legal!
Scott
Isso funciona da mesma forma para a maioria dos serviços on-line do git usando HTTP.
IR-g