Як змусити GitLab видалити старі резервні копії?


12

Я використовую завдання рейку для створення резервних копій для 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 фактично видаляти старі резервні копії?


чи можете ви надати в ls -lsрежимі резервного копіювання, а також вихід dateкоманди
Майк

Ви, можливо, забули до gitlab-ctl reconfigure && gitlab-ctl restartсвоєї установки?
босі

Відповіді:


15

Ви хочете вибрати варіант gitlab_rails['backup_keep_time']. мені довелося

gitlab-ctl reconfigure

після встановлення на нього це може мати будь-який ефект. Зауважте, що це вплине лише на локальні резервні копії, а не на Amazon-AWS S3, якщо ви використовуєте це.

Виникла проблема з їх ігноруванням , але я не впевнений, на які версії це впливає. Версія 6 досить стара. Якщо ви знаходитесь в омнібусі, можливо, варто буде оновити.


1
+1 за згадування того, що (найімовірніше) було рішенням ( gitlab-ctl reconfigure)
босі

1
Варто зазначити, що після оновлення gitlab.rbта запуску gitlab-ctl reconfigureстворення нової резервної копії або коли буде запущена наступна резервна копія, резервні копії з минулим терміном буде видалено.
Марк Карпентер-молодший

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/isissue/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).
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.