我使用 rake 任务为 GitLab 6.8.2 创建备份。
gitlab-rake gitlab:backup:create
我/etc/gitlab/gitlab.rb
添加了以下行:
gitlab_rails['backup_keep_time'] = 60
这应该会删除超过 60 秒的备份。我的预期是,gitlab:backup:create
如果 60 秒过去,第二次运行将删除第一个备份。虽然输出中的最后一行是
删除旧备份...跳过
如何配置 GitLab 以实际删除旧备份?
答案1
你想要的选项是gitlab_rails['backup_keep_time']
。我不得不
gitlab-ctl reconfigure
设置后才能生效。请注意,它只会影响本地备份,而不会影响 Amazon-AWS S3(如果您正在使用它)。
有他们被忽视的问题,但我不确定它会影响哪些版本。版本 6 相当老旧。如果你使用综合版,可能值得升级。
答案2
也许你正在考虑轮换过时的文件偏僻的或backup_upload_connection
文件夹。Gitlab 无法从此或任何其他偏僻的位置。backup_keep_time
仅适用于其内部backup_path
,默认为/var/opt/gitlab/backups
。
我计划单独运行一个 cron 作业,删除远程 NFS 挂载备份文件夹中除最新文件 10 个之外的所有文件。
ls -dt */ | tail -n +11 | xargs rm -rf
查看此合并请求: https://gitlab.com/gitlab-org/omnibus-gitlab/issues/1453
还有这个差异: 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).