Como faço para o GitLab excluir backups antigos?

12

Eu uso a tarefa rake para criar backups para o GitLab 6.8.2.

gitlab-rake gitlab:backup:create

Em /etc/gitlab/gitlab.rbeu adicionei a seguinte linha:

gitlab_rails['backup_keep_time'] = 60

Isso deve remover backups com mais de 60 segundos. Minha expectativa era que uma segunda execução gitlab:backup:createremovesse o primeiro backup se passassem 60 segundos. Embora a última linha na saída seja

Excluindo backups antigos ... pulando

Como faço para configurar o GitLab para realmente remover backups antigos?

Jan Deinhard
fonte
você pode fornecer um ls -lsna dir com as cópias de segurança e também a saída do datecomando
Mike
Você esqueceu gitlab-ctl reconfigure && gitlab-ctl restartsua instalação?
Bossi

Respostas:

14

A opção que você deseja é gitlab_rails['backup_keep_time']. Eu precisei

gitlab-ctl reconfigure

depois de configurá-lo para que ele tenha algum efeito. Observe que isso afetará apenas os backups locais, e não o Amazon-AWS S3, se você estiver usando isso.

Houve um problema com eles sendo ignorados , mas não tenho certeza de quais versões isso afeta. A versão 6 é bastante antiga. Se você estiver no ônibus, pode valer a pena um upgrade.

Tad M.
fonte
1
1 para mencionar o que (provavelmente) era a solução ( gitlab-ctl reconfigure)
Bossi
1
Vale ressaltar que, após atualizar gitlab.rbe executar a gitlab-ctl reconfigurecriação de um novo backup ou quando o próximo backup for executado, os backups expirados serão removidos.
Mark-Carpenter Jr #
6

Talvez você esteja procurando alternar arquivos obsoletos no controle remoto ou na backup_upload_connectionpasta. O Gitlab não pode remover backups antigos deste ou de qualquer outro local remoto . O backup_keep_timeé apenas para o seu interno, backup_pathque é o padrão /var/opt/gitlab/backups.

Estou planejando executar um trabalho cron separadamente, que exclui todos os 10 arquivos mais recentes da minha pasta de backup remota montada em NFS.

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

Consulte esta solicitação de mesclagem: https://gitlab.com/gitlab-org/omnibus-gitlab/issues/1453

E esta diferença: 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
fonte