резервный svn сценарий на Linux не работает?

У меня есть сценарий, который работает на Linux Сервер Ubuntu каждый dat в 5:00. Этот сценарий копирует весь мой SVN таким образом:

 #!/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

Проблема состоит в том, что только первый проект (p1) действительно выводится. Остальная часть проектов является файлами с этим текстом в них:

SVN-fs-dump-format-version: 2

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

Число пересмотра: 0 довольных длин опоры: 56 довольных длин: 56

КОНЕЦ ОПОР K 8 SVN:DATE V 27 2009-11-12T15:25:00.461875Z

(редактирование) При запущении скрипта из командной строки это копирует все репозитории и делает эту проблему только при выполнении от крона.

Почему это?

0
задан 20.01.2011, 10:36

2 ответа

Я нашел решение для этого. Проблемой было что-то связанное с выходной буферизацией задания крона, и крон останавливают сценарий, когда это достигает некоторого предела. То, что я сделал для решения проблемы, является двумя вещами:

  1. в кроне я перенаправил вывод в/dev/null

    0 5 * * * /home/xxx/svn-backup/run-backup > /dev/null
    
  2. В резервном выполнением сценарии я перенаправил вывод в/dev/null также

    #!/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
    

Это сделало мою работу сценария!

Обновление: Это на самом деле также объяснено на stackoverflow - https://stackoverflow.com/questions/2323933/crontab-doesnt-finish-svndump

Кажется, что крон завершает выполнение, после того как определенный предел достигнут в stderr буфере вывода.

0
ответ дан 24.11.2019, 12:11

Возможно, это - глупый вопрос, но сделайте репозитории p2 и p3 кто-либо фиксировал содержание/изменения уже? Очевидно, что они - репозитории, иначе у Вас были бы сообщения об ошибках вместо вывода, который Вы имеете. Однако, когда я создал пустой репозиторий и работал svnadmin dump на нем я получил точно поведение, которое Вы описываете. Попытайтесь проверить копию репозиториев и работать svn log видеть, существуют ли какие-либо зафиксированные изменения. Снова, возможно, это - глупый вопрос, но легко проверить.

1
ответ дан 24.11.2019, 12:11

Теги

Похожие вопросы