GitLab'ın eski yedeklemeleri silmesini nasıl sağlarım?


12

Komisyon görevini GitLab 6.8.2 için yedekler oluşturmak için kullanıyorum.

gitlab-rake gitlab:backup:create

Gelen /etc/gitlab/gitlab.rbaşağıdaki satırı eklendi:

gitlab_rails['backup_keep_time'] = 60

Bunun 60 saniyeden eski yedeklemeleri budaması gerekiyordu. Benim beklentim, gitlab:backup:create60 saniyenin geçmesi durumunda ikinci yedeklemenin ilk yedeklemeyi kaldırmasıydı. Çıktıdaki son satır

Eski yedeklemeler siliniyor ... atlanıyor

GitLab'ı eski yedeklemeleri gerçekten kaldıracak şekilde nasıl yapılandırırım?


ls -lsyedekleri ve aynı zamanda datekomut çıktısını bir dir sağlayabilir
Mike

Muhtemelen gitlab-ctl reconfigure && gitlab-ctl restartkurulumunu mu unuttun ?
Bossi

Yanıtlar:


15

İstediğiniz seçenek gitlab_rails['backup_keep_time']. Yapmak zorundaydım

gitlab-ctl reconfigure

herhangi bir etkisi olacak şekilde ayarladıktan sonra. Yalnızca yerel yedeklemeleri etkileyeceğini, bunu kullanıyorsanız Amazon-AWS S3'ü etkilemeyeceğini unutmayın.

Orada onları göz ardı ediliyor bir sorun , ama nelerin etkilediğini versiyonları emin değilim. Sürüm 6 oldukça eski. Omnibusdaysanız, yükseltmeye değer olabilir.


1
Çözümün ( gitlab-ctl reconfigure) muhtemelen (büyük olasılıkla) bahsettiği için +1
bossi

1
Yeni bir yedekleme oluşturduktan gitlab.rbve çalıştırdıktan sonra gitlab-ctl reconfigureveya bir sonraki yedekleme çalıştırıldığında, süresi dolmuş yedeklemelerin kaldırılacağını belirtmek gerekir.
Mark Carpenter Jr

6

Belki de uzaktaki veya backup_upload_connectionklasördeki eski dosyaları döndürmeye bakıyorsunuzdur . Gitlab bu veya diğer uzak konumlardan eski yedekleri kaldıramıyor . Bu backup_keep_timeyalnızca backup_pathvarsayılan olan dahili için geçerlidir /var/opt/gitlab/backups.

Uzak, NFS'ye bağlı yedek klasörümdeki en yeni 10 dosyanın tümünü silen ayrı bir cron işi çalıştırmayı planlıyorum.

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

Bu birleştirme isteğine bakın: https://gitlab.com/gitlab-org/omnibus-gitlab/issues/1453

Ve bu fark: 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).
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.