Trabalhando com o git via crontab


2

Eu tenho o seguinte script de shell

#!/bin/bash
REPODIR=$HOME/work/repository/
cd $REPODIR
var=`git fetch --dry-run 2>&1`
echo $var > $HOME/error.txt

Eu quero executar meu script a cada minuto, então eu edito o crontab (via crontab -e) para executar o script do usuário atual.

*/1 * * * * /home/nameoftheuser/Documents/report-server.sh

A partir da execução manual - o script funciona corretamente. Mas executando o script do crontab (no error.txt):

fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.

Arquivo de script tem 775 direitos. Eu também estou verificado git statuse git config -le que comanda o trabalho corretamente. git config -lexibir corretamente o URL de origem remota. Ubuntu 13.04 x64 com as últimas atualizações.

O que devo fazer para trabalhar com o git de crontab?

Respostas:


2

O Git não pode autorizar ao perguntar remotamente sobre mudanças no mestre, porque quando eu gero o ssh-key, eu o protejo com uma senha.

Então eu apenas regenho a chave sem passphrase e o script funciona perfeitamente.


0

faça o trabalho do crontab como:

*/1 * * * * nameoftheuser /home/nameoftheuser/Documents/./report-server.sh

ou

*/1 * * * * nameoftheuser sh /home/nameoftheuser/Documents/report-server.sh

Ou se você quiser fazer o que você postou, você precisa adicionar aliasno final /etc/bash.bashrcdesse script como:

alias report-server='/home/nameoftheuser/Documents/./report-server.sh'

e então você pode adicionar o cron job como:

*/1 * * * * root report-server

Nenhuma dessas abordagens funciona. Eles nem sequer criam error.txtna pasta Home. Eu preciso executar script como user
mef_

Certifique-se de fazer /etc/init.d/cron restartdepois de cada mudança para cron
mirkobrankovic

Oh, desculpe. Acabei de perceber que o problema não está no crontab. De alguma forma, o git não pode autorizar ao perguntar remotamente sobre mudanças no master.
mef_

Ah, então eu shell excluir este :)
mirkobrankovic
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.