Làm cách nào để GitLab xóa các bản sao lưu cũ?


12

Tôi sử dụng tác vụ cào để tạo bản sao lưu cho GitLab 6.8.2.

gitlab-rake gitlab:backup:create

Trong /etc/gitlab/gitlab.rbtôi đã thêm dòng sau:

gitlab_rails['backup_keep_time'] = 60

Điều này được cho là để sao lưu dự phòng cũ hơn 60 giây. Kỳ vọng của tôi là lần chạy thứ hai gitlab:backup:createsẽ xóa bản sao lưu đầu tiên nếu 60 giây trôi qua. Mặc dù dòng cuối cùng trong đầu ra là

Xóa các bản sao lưu cũ ... bỏ qua

Làm cách nào để định cấu hình GitLab để thực sự xóa các bản sao lưu cũ?


bạn có thể cung cấp một ls -lstrong thư mục với các bản sao lưu và cả đầu ra của datelệnh
Mike

Bạn có thể quên gitlab-ctl reconfigure && gitlab-ctl restartcài đặt của bạn?
bossi

Câu trả lời:


14

Tùy chọn bạn muốn là gitlab_rails['backup_keep_time']. tôi phải

gitlab-ctl reconfigure

sau khi thiết lập nó để có hiệu lực Lưu ý rằng nó sẽ chỉ ảnh hưởng đến các bản sao lưu cục bộ, không phải Amazon-AWS S3 nếu bạn đang sử dụng.

một vấn đề với chúng bị bỏ qua , nhưng tôi không chắc nó ảnh hưởng đến phiên bản nào. Phiên bản 6 khá cũ. Nếu bạn đang sử dụng omnibus, nó có thể đáng để nâng cấp.


1
+1 để đề cập đến những gì (rất có thể) là giải pháp ( gitlab-ctl reconfigure)
bossi

1
Sẽ đáng đề cập rằng sau khi cập nhật gitlab.rbvà chạy gitlab-ctl reconfiguretạo bản sao lưu mới hoặc khi bản sao lưu tiếp theo được chạy, bản sao lưu đã hết hạn sẽ bị xóa.
Mark Carpenter Jr

6

Có lẽ bạn đang xem xét việc xoay các tập tin cũ trong điều khiển từ xa hoặc backup_upload_connectionthư mục. Gitlab không thể xóa các bản sao lưu cũ khỏi vị trí này hoặc bất kỳ vị trí từ xa nào khác . Cái backup_keep_timenày chỉ dành cho nội bộ của nó backup_pathđược mặc định là /var/opt/gitlab/backups.

Tôi đang lên kế hoạch chạy một công việc định kỳ riêng biệt để xóa tất cả trừ 10 tệp mới nhất trong thư mục sao lưu, gắn NFS, từ xa của tôi.

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

Xem yêu cầu hợp nhất này: https://gitlab.com/gitlab-org/omnibus-gitlab/issues/1453

Và điều này khác: https://gitlab.com/gitlab-org/gitlab-ce/merge_Vquests/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).
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.