美文网首页Git
GitLab备份与还原过程中的权限问题

GitLab备份与还原过程中的权限问题

作者: GingerBot | 来源:发表于2016-02-16 15:56 被阅读3988次

    在CentOS中对GitLab进行备份(Backup)与还原(Restore)时,分别遇到了权限相关的问题。
    系统版本:CentOS 6.5
    GitLab版本:gitlab-ce-8.0.2-ce.1.el6.x86_64

    备份时,执行

    gitlab-rake gitlab:backup:create
    

    得到错误提示

    Errno::EACCES: Permission denied @ dir_s_mkdir - /var/opt/gitlab/backups
    

    没有执行mkdir的权限。

    而在Restore时,执行

    gitlab-rake gitlab:backup:restore BACKUP=1393513186
    

    其中1393513186为backup的时间戳编号,会在gitlab_backup.tar文件的文件名体现。

    又遇到大量的mkdir、找不到文件/文件夹错误。

    而我是用root用户登录的,联想可能是相关的文件夹权限有问题。
    backups是我使用mkdir命令创建的,并没有特别分配权限,于是使用 ls -al 命令查看backups文件夹的权限。
    发现值为

    drwxr-xr-x. 2 root root 4096 2月 16 10:08 backups
    

    判断是执行实际操作的gitlab相关用户:git,没有得到足够的权限。依次执行命令:

    root@myserver:~# mkdir /var/opt/gitlab/backups
    
    root@myserver:~# chown git /var/opt/gitlab/backups
    
    root@myserver:~# chmod 700 /var/opt/gitlab/backups
    

    笔者之前使用了 rm -rf backups 命令移除整个backups文件夹,所以需要再次mkdir。如果该文件夹已经存在,就不需要mkdir了。

    以上命令执行完成后,再次 ls -al
    发现backups的权限已经发生改变了:

    drwx------. 2 git root 4096 2月 16 10:18 backups
    

    再次执行backup或者restore,已经可以正常运行,问题解决。

    Reference:issue644 - Permissions issue when creating backups

    相关文章

      网友评论

        本文标题:GitLab备份与还原过程中的权限问题

        本文链接:https://www.haomeiwen.com/subject/vigpkttx.html