Назад | Перейти на главную страницу

резервное копирование репозитория SVN в Ubuntu linux в общую папку Windows

У нас есть система Ubuntu (без головного убора), в которой работает наш репозиторий SVN. Хотел бы регулярно выполнять автоматическое резервное копирование в общий ресурс Windows. Что нам делать ? Есть ссылки / статьи? Есть ошибки?

Насколько легко восстановить из этих резервных копий?

$ svnadmin dump /path/to/repo | gzip > backup.gz

$ gunzip -c backup.gz | svnadmin load /path/to/repo

В дополнение к ответу Раджата, если в вашей системе Ubuntu есть место, я бы сначала сделал горячую копию, а затем либо сбросил бы горячую копию, либо затортил ее.

$ svnadmin hotcopy /path/to/repo /path/to/local/backup
$ svnadmin dump /path/to/local/backup | gzip > backup.gz
  or
$ tar czf backup-hotcopy.tgz /path/to/local/backup

Таким образом,

  • у вас есть локальная резервная копия на случай повреждения репо.
  • резервное копирование может быть выполнено без каких-либо простоев - это может быть сделано, пока разработчики фиксируют данные в базе данных. (IIRC dump команда может работать некорректно в реальном репо - но я не могу найти окончательный источник по этому поводу после быстрого поиска - кто-нибудь поправит меня, если я ошибаюсь, или укажите на подтверждение)
  • Локальная горячая копия также будет включать любые сценарии ловушек, которые вы можете настроить, тогда как дамп не будет.

Однако горячая копия tar'd up содержит репозиторий в формате Linux. Это может вызвать проблемы, если ваш ящик Ubuntu умирает, и вы хотите восстановить его на машине с Windows. (Это меня однажды укусило - нам нужно было быстро восстановить, а Windows Box был единственным доступным сервером). Это не проблема с вариантом дампа. Сначала вам нужно будет где-то создать рабочее хранилище, но после этого дамп можно будет загрузить без каких-либо забот о базовой ОС.

Смолоть его, затем использовать gvfs-copy чтобы скопировать его, или смонтировать общий ресурс как CIFS, скопировать и размонтировать.