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

Как заставить GitLab удалять старые резервные копии?

Я использую задачу rake для создания резервных копий для GitLab 6.8.2.

gitlab-rake gitlab:backup:create

В /etc/gitlab/gitlab.rb Я добавил следующую строку:

gitlab_rails['backup_keep_time'] = 60

Предполагается, что это приведет к удалению резервных копий старше 60 секунд. Я ожидал, что второй запуск gitlab:backup:create удалит первую резервную копию, если прошло 60 секунд. Хотя последняя строка вывода -

Удаление старых резервных копий ... пропуск

Как мне настроить GitLab для фактического удаления старых резервных копий?

Вам нужен вариант gitlab_rails['backup_keep_time']. Мне пришлось

gitlab-ctl reconfigure

после настройки, чтобы он имел какой-либо эффект. Обратите внимание, что это повлияет только на локальные резервные копии, а не на Amazon-AWS S3, если вы его используете.

Там было проблема с их игнорированием, но я не уверен, на какие версии это влияет. Версия 6 довольно старая. Если вы пользуетесь омнибусом, возможно, вам стоит обновить его.

Возможно, вы хотите заменить устаревшие файлы в удаленный или backup_upload_connection папка. Gitlab не может удалить устаревшие резервные копии из этих или любых других удаленный локации. В backup_keep_time только для внутреннего backup_path который по умолчанию /var/opt/gitlab/backups.

Я планирую запустить задание cron отдельно, которое удалит все, кроме 10 новейших файлов в моей удаленной, подключенной NFS папке резервного копирования.

ls -dt */ | tail -n +11 | xargs rm -rf

См. Этот запрос на слияние: https://gitlab.com/gitlab-org/omnibus-gitlab/issues/1453

И эта разница: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/5567/diffs

Note that the `backup_keep_time` configuration option only manages local
files. GitLab does not automatically prune old files stored in a third-party
object storage (e.g. AWS S3) because the user may not have permission to list
and delete files. We recommend that you configure the appropriate retention
policy for your object storage. For example, you can configure [the S3 backup
policy here as described here](http://stackoverflow.com/questions/37553070/gitlab-omnibus-delete-backup-from-amazon-s3).