用 gitlab 很长一段时间了,从 2013 年开始,一直到现在,在每一个团队中都在推广使用 gitlab-ce 做版本管理和项目管理。本来一切好好的,一直到今天。 今天我要做备份的时候。 sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production 命令不灵了。 Dumping database … Dumping MySQL database gitlabhq_production … [FAILED] Backup failed 谷歌了解决办法,无非下面几个情况: 没有装 mysql client library。 解决办法:安装一个 mysql client library 就好。 git 用户没有写入 config/gitlab.yml 中设定的备份目录的权限 解决办法:修改备份目录所有者为 git 用户就好。 官网上有 issue 是关于 PostgreSQL 的,没有结论,参考价值不大 我挨个排查了一下,上面几种情况都排除了。 首先,我的 gitlab 站点完全正常访问, 所以第一种情况可以排除。 其次,tmp/backups/db/ 目录下还有一个空文件 database.sql,我删除之后再试,它还能生成,证明备份 DB 的效果是有的,就是不知道为什么,没有取到 DB 里面的内容,备份成空文件了。顺便检查了下备份目录的磁盘空间,完全充足,用下面的命令证明 git 写入文件到备份目录是完全没有问题的。……

阅读全文