Каков наилучший способ создания резервных копий Subversion (на сервере на основе Debian).
Это использовать svnadmin?
svnadmin dump /path/to/reponame > reponame.dump
Или, может быть, просто смолить каталог, где находятся репозитории?
tar -cvzf svn.backup.tar.gz /var/subversion/
Каковы плюсы и минусы вышеперечисленного?
Спасибо Йохан
Обновление : это небольшой сервер с небольшим количеством репозиториев. Так что инкрементные резервные копии, вероятно, не нужны, я думаю, что лучше сосредоточиться на простоте.
Обновление : я использовал скрипт-упаковщик пакетов (который, в свою очередь, был оболочкой для svn-hot-backup), чтобы сделать полное резервное копирование, а затем сделал полное восстановление на другом чистом компьютере. Однако я удалил эту часть "SVN_HOTBACKUP_NUM_BACKUPS = 10", так как она не работала для меня.
Пожалуйста, обратите внимание, что я чувствую, что это было довольно просто, и результат был очень близок к просто смоле. Но, как указал здесь Манни, использование svn-hot-backup / "svnadmin hotcopy" - более надежный метод, поскольку tar может время от времени создавать поврежденные резервные копии, если вам не повезло.
Вы видели документацию по этому поводу ?
По сути, у вас есть два варианта:
svnadmin dump
svnadmin hotcopy
Простое создание копии каталога не вариант, потому что ваш репозиторий может измениться во время создания копии.
Независимо от того, используете ли вы инкрементное или полное резервное копирование, это зависит от количества паранойи, размера вашего хранилища, ваших потребностей и вашей инфраструктуры.
источник
Я рекомендую SVNBackup из-за того, что он способен делать инкрементные резервные копии .
Почему это важно? Что ж, если у вас большая команда разработчиков и у вас есть ежедневная резервная копия Subversion, и ваша система отказывает 12 часов в старой резервной копии, весь рабочий день теряется.
Если вы выполняете полное резервное копирование ( то есть горячее копирование SVN ) много раз в день, то это приводит к ненужной загрузке вашего компьютера хранилища, что раздражает нетерпеливых разработчиков.
В качестве бонуса; Я также рекомендую Backup-PC в качестве решения для резервного копирования. Он может делать инкрементные удаленные резервные копии и способен сэкономить много места, если вы создаете резервные копии одинаковых файлов в разных системах.
источник
Я использую svnsync для резервного копирования в другое хранилище, доступное только для чтения, которое само копируется с устаревшими копиями (день, неделя, месяц)
источник
dump
иhotcopy
он, безусловно, имеет свое применение. Это может быть очень удобно также для локальных инкрементных резервных копий.Вы можете сделать инкрементное резервное копирование с помощью svnadmin, если хотите, вы должны запустить hot-backup.py до создания архива tar.
Вот статья о резервном копировании SVN-репозиториев. В любом случае, чтение книги SVN является хорошей отправной точкой, как уже было сказано.
источник
Я делаю резервные копии нескольких репозиториев 100GB + SVN с помощью простого старого rsync.
svnadmin dump
иsvnadmin hotcopy
займет дни на этих репозиториях.Еще одна вещь, на которую стоит обратить внимание, -
svnadmin dump
это не резервное копирование блокировок и скриптов хуков.источник
Вот что я делаю с моими репозиториями: используйте службу резервного копирования папок, такую как Dropbox (вот ссылка на их версию для Linux ). Вы просто делаете Dropbox корневым каталогом вашего хранилища (или даже над ним), и он будет сохраняться при каждом изменении файла. Мало того, что это будет доступно через компьютеры, но вы сможете получить доступ к нему онлайн и иметь его версии.
Существует несколько таких онлайн-сервисов резервного копирования - большинство из них бесплатны до 2 ГБ.
источник