web-dev-qa-db-ja.com

GitLabで古いバックアップを削除するにはどうすればよいですか?

Rakeタスクを使用して、GitLab 6.8.2のバックアップを作成します。

gitlab-rake gitlab:backup:create

/etc/gitlab/gitlab.rb次の行を追加しました:

gitlab_Rails['backup_keep_time'] = 60

これは、60秒より古いバックアップをプルーニングすることになっています。私の期待は、2回目のgitlab:backup:createは、60秒が経過した場合、最初のバックアップを削除します。出力の最後の行は

古いバックアップを削除しています...スキップしています

古いバックアップを実際に削除するようにGitLabを構成するにはどうすればよいですか?

12
Jan Deinhard

必要なオプションはgitlab_Rails['backup_keep_time']。そうしなければならなかった

gitlab-ctl reconfigure

設定した後、効果を発揮します。ローカルバックアップのみに影響し、Amazon-AWS S3を使用している場合は影響しないことに注意してください。

無視される問題 がありましたが、どのバージョンに影響するかわかりません。バージョン6はかなり古いです。オムニバスを使用している場合は、アップグレードする価値があります。

15
Tad M.

おそらく、remoteまたはbackup_upload_connectionフォルダー内の古いファイルをローテーションアウトすることを検討しています。 Gitlabは、この場所または他のremote場所から古いバックアップを削除できません。 backup_keep_timeは、内部backup_path専用で、デフォルトは/var/opt/gitlab/backupsです。

リモートでNFSマウントされたバックアップフォルダー内の最新のファイルを10個を除いてすべて削除するcronジョブを個別に実行することを計画しています。

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

このマージ要求を参照してください: https://gitlab.com/gitlab-org/omnibus-gitlab/issues/145

そして、この差分: 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).
6
instantchow