backup svn script no linux não funciona?

0

Eu tenho um script que roda no Linux Ubuntu Server todo dat às 5 da manhã. Esse script faz backup de todo o meu SVN dessa maneira:

 #!/bin/bash
 svnadmin dump /home/xxx/svn/p1 > /home/xxx/svn-backup/p1
 svnadmin dump /home/xxx/svn/p2 > /home/xxx/svn-backup/p2
 svnadmin dump /home/xxx/svn/p3 > /home/xxx/svn-backup/p3

O problema é que somente o primeiro projeto (p1) é realmente descartado. O restante dos projetos são arquivos com este texto:

SVN-fs-dump-format-version: 2

UUID: 895acea3-fcd0-46fa-908a-4b43fc3278af

Número de revisão: 0 Prop-content-length: 56 Comprimento do conteúdo: 56

K 8 svn: date V 27 2009-11-12T15: 25: 00.461875Z PROPS-END

(editar) Ao executar o script a partir da linha de comando, ele faz backup de todos os repositórios e faz esse problema apenas ao executar a partir do cron.

Por que isso?

    
por Aviv 18.01.2011 / 14:24

2 respostas

0

Eu encontrei a solução para isso. O problema foi algo relacionado ao buffer de saída da tarefa cron e o cron parou o script quando atingiu algum limite. O que eu fiz para resolver o problema é duas coisas:

  1. no cron i redirecionou a saída para / dev / null

    0 5 * * * /home/xxx/svn-backup/run-backup > /dev/null
    
  2. No script de backup de execução i redirecionei a saída para / dev / null também

    #!/bin/bash
    svnadmin dump /home/xxx/svn/p1 > /home/xxx/svn-backup/p1 2>/dev/null
    svnadmin dump /home/xxx/svn/p2 > /home/xxx/svn-backup/p2 2>/dev/null
    svnadmin dump /home/xxx/svn/p3 > /home/xxx/svn-backup/p3 2>/dev/null
    

Isso fez meu script funcionar!

Atualização: Isso também é explicado no stackoverflow - link

Parece que o cron finaliza a execução uma vez que determinado limite é atingido no buffer de saída do stderr.

    
por 03.02.2011 / 16:48
1

Talvez essa seja uma pergunta boba, mas os repositórios p2 e p3 têm algum conteúdo / revisões confirmados ainda? É óbvio que eles são repositórios, caso contrário você teria mensagens de erro em vez da saída que você tem. No entanto, quando criei um repositório vazio e executei svnadmin dump nele, obtive exatamente o comportamento que você descreve. Tente verificar uma cópia dos repositórios e execute svn log para ver se há alguma revisão confirmada. Novamente, talvez seja uma pergunta boba, mas é fácil verificar.

    
por 18.01.2011 / 15:41