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

Резервное копирование полного сервера Git

у меня есть CentOs 7.1 и Сервер Git установлен на нем.

В Сервер Git настроен с SSH ключи поэтому пользователям нужен кодовая фраза и закрытый ключ для подключения к серверу.

В настоящее время существует 7 репозиториев, которые пользователи часто посещают.

Администрирование Git-Server осуществляется с помощью инструмента гитолит-админ.

Я хочу создать резервное копирование сервера Git, включая каждый репозиторий и каждый параметр конфигурации.

я знаю это cronjobs можно использовать для этого, но я не уверен, что лучше клон репо или zip / tar все папки, связанные с git, в файл.

Как это сделать правильно?

Лучшее субъективно в зависимости от вашего окружения и целей. Использование git или tar / gzip создаст резервную копию.

Использовать gitolite writable команда, чтобы отключить отправку во все репозитории или конкретное репо при использовании tar / gzip или другого собственного инструмента резервного копирования. Это предотвратит запись в репозиторий во время резервного копирования. Ваша резервная копия будет повреждена, если вы пропустите этот шаг, и кто-то запишет в репозиторий во время резервного копирования.

Бегать gitolite writable -h для подробного использования. См. Документацию gitolite для получения дополнительной информации. http://gitolite.com/gitolite/gitolite.html

Вы можете использовать rsync, чтобы скопировать весь сервер, tar и сохранить его. Я бы посоветовал хранить его на внешнем сервере (например, BackBlaze B2).

Вот несколько примеров rsync:

Rsync через SSH:

rsync -avzhe ssh root@192.168.0.100:/root/install.log /tmp/

Если вы хотите провести пробный запуск, добавьте --dry-run. Если вы хотите реплицировать сервер, удаленные файлы необходимо удалить в целевой системе, добавьте -delete для этого.

Еще примеры rsync: http://www.tecmint.com/rsync-local-remote-file-synchronization-commands/