¿Cómo hago para que GitLab elimine las copias de seguridad antiguas?

12

Utilizo la tarea de rastrillo para crear copias de seguridad para GitLab 6.8.2.

gitlab-rake gitlab:backup:create

En /etc/gitlab/gitlab.rbagregué la siguiente línea:

gitlab_rails['backup_keep_time'] = 60

Se supone que esto elimina las copias de seguridad de más de 60 segundos. Mi expectativa era que una segunda ejecución de gitlab:backup:createeliminaría la primera copia de seguridad si han pasado 60 segundos. Aunque la última línea en la salida es

Eliminando copias de seguridad antiguas ... omitiendo

¿Cómo configuro GitLab para eliminar las copias de seguridad antiguas?

Jan Deinhard
fuente
¿Puede proporcionar un ls -lsen el directorio con las copias de seguridad y también la salida del datecomando
Mike
¿Posiblemente olvidó gitlab-ctl reconfigure && gitlab-ctl restartsu instalación?
bossi

Respuestas:

15

La opción que quieres es gitlab_rails['backup_keep_time']. Tuve que

gitlab-ctl reconfigure

después de configurarlo para que tenga algún efecto. Tenga en cuenta que solo afectará a las copias de seguridad locales, no a Amazon-AWS S3 si está usando eso.

Hubo un problema al ignorarlos , pero no estoy seguro de a qué versiones afecta. La versión 6 es bastante antigua. Si estás en el ómnibus, podría valer la pena una actualización.

Tad M.
fuente
1
+1 por mencionar cuál (lo más probable) era la solución ( gitlab-ctl reconfigure)
bossi
1
Vale la pena mencionar que después de actualizar gitlab.rby ejecutar la gitlab-ctl reconfigurecreación de una nueva copia de seguridad o cuando se ejecute la siguiente copia de seguridad, se eliminarán las copias de seguridad caducadas.
Mark Carpenter Jr
6

Quizás esté buscando rotar archivos obsoletos en el control remoto o la backup_upload_connectioncarpeta. Gitlab no puede eliminar copias de seguridad obsoletas de esta u otras ubicaciones remotas . El backup_keep_timees solo por su interno backup_pathque está predeterminado /var/opt/gitlab/backups.

Estoy planeando ejecutar un trabajo cron por separado que elimina todos menos 10 de los archivos más nuevos en mi carpeta de copia de seguridad remota montada en NFS.

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

Consulte esta solicitud de fusión: https://gitlab.com/gitlab-org/omnibus-gitlab/issues/1453

Y esta diferencia: 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).
Instantchow
fuente