Come posso fare in modo che GitLab elimini i vecchi backup?


12

Uso l'attività di rake per creare backup per GitLab 6.8.2.

gitlab-rake gitlab:backup:create

In /etc/gitlab/gitlab.rbho aggiunto la seguente riga:

gitlab_rails['backup_keep_time'] = 60

Questo dovrebbe eliminare i backup più vecchi di 60 secondi. La mia aspettativa era che una seconda esecuzione gitlab:backup:createavrebbe rimosso il primo backup se fossero trascorsi 60 secondi. Sebbene l'ultima riga nell'output sia

Eliminazione di vecchi backup ... saltando

Come configuro GitLab per rimuovere effettivamente i vecchi backup?


puoi fornire a ls -lsin dir con i backup e anche l'output del datecomando
Mike

Forse hai dimenticato gitlab-ctl reconfigure && gitlab-ctl restartl'installazione?
bossi,

Risposte:


15

L'opzione che vuoi è gitlab_rails['backup_keep_time']. Dovevo

gitlab-ctl reconfigure

dopo averlo impostato per avere qualche effetto. Nota che avrà effetto solo sui backup locali, non su Amazon-AWS S3 se lo stai utilizzando.

Si è verificato un problema con il fatto che venivano ignorati , ma non sono sicuro di quali versioni influisca. La versione 6 è piuttosto vecchia. Se sei sull'omnibus, potrebbe valere la pena un aggiornamento.


1
+1 per menzionare quale (molto probabilmente) era la soluzione ( gitlab-ctl reconfigure)
bossi

1
Vale la pena ricordare che dopo l'aggiornamento gitlab.rbe l'esecuzione della gitlab-ctl reconfigurecreazione di un nuovo backup o quando viene eseguito il backup successivo, i backup scaduti verranno rimossi.
Mark Carpenter Jr,

6

Forse stai cercando di ruotare i file non aggiornati nel telecomando o nella backup_upload_connectioncartella. Gitlab non è in grado di rimuovere backup non aggiornati da questa o da altre posizioni remote . Il backup_keep_timeè solo per il suo interno backup_pathche è predefinito /var/opt/gitlab/backups.

Sto pianificando di eseguire separatamente un processo cron che elimina tutti i file più recenti tranne 10 nella mia cartella di backup remota, montata su NFS.

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

Vedi questa richiesta di unione: https://gitlab.com/gitlab-org/omnibus-gitlab/issues/1453

E questa differenza: 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).
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.