如何使GitLab删除旧备份?


12

我使用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实际删除旧备份?


您可以ls -ls在目录中提供备份以及date命令的输出吗
Mike

您可能忘记了gitlab-ctl reconfigure && gitlab-ctl restart安装?
bossi

Answers:


15

您想要的选项是gitlab_rails['backup_keep_time']。我不得不

gitlab-ctl reconfigure

将其设置为有效后。请注意,这只会影响本地备份,而不会影响Amazon-AWS S3。

他们被忽略存在一个问题,但是我不确定它会影响哪个版本。版本6相当老。如果您正在使用综合工具,则可能值得升级。


1
+1(提及最有可能解决的问题)(gitlab-ctl reconfigure
bossi

1
值得一提的是,在更新gitlab.rb并运行后gitlab-ctl reconfigure创建新备份或运行下一个备份时,将删除过期的备份。
马克·卡彭特(Marc Carpenter Jr)'18年

6

也许您正在寻找在遥控器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).
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.