GitLab:备份rake任务是原子的吗?

GitLab:备份rake任务是原子的吗?,gitlab,Gitlab,如果我使用rake任务进行GitLab备份,就像有人推送存储库一样,备份过程会受到影响吗 在进行备份之前是否需要关闭GitLab?任务本身看起来不是原子的。 它呼吁: Rake::Task["gitlab:backup:db:create"].invoke Rake::Task["gitlab:backup:repo:create"].invoke 委员会: 与ActiveRecord的其他操作一样,请参见,它似乎不是全局原子操作 等一下,几个小时前,GitLab的主要开发人员刚刚重构

如果我使用rake任务进行GitLab备份,就像有人推送存储库一样,备份过程会受到影响吗

在进行备份之前是否需要关闭GitLab?

任务本身看起来不是原子的。 它呼吁:

  Rake::Task["gitlab:backup:db:create"].invoke
  Rake::Task["gitlab:backup:repo:create"].invoke
委员会:

与ActiveRecord的其他操作一样,请参见,它似乎不是全局原子操作

等一下,几个小时前,GitLab的主要开发人员刚刚重构了数据库:

显示了系统调用mysqldump的用法: systemmysqldump{mysql_args}{config['database']}>{db_file_name} 添加授权选择、锁定表。。。 因此,转储数据库的部分现在更加原子化;
但是备份本身,包括备份裸回购协议等其他步骤,并不是原子级的。

为最后的投票感到抱歉:主持人通常做得很好,但在这种情况下,他们完全错了,不知道gitlab是什么。这100%是关于堆栈溢出的问题。GitLab的最新提交显示了更多的原子操作。看看我编辑过的答案。乍一看,这个问题肯定是偏离主题或措词不当,但实际上通读它和gitlab标记摘要,它确实似乎完全符合主题。这是一个开发工具及其使用。添加重新开放投票。回购协议本身使用git捆绑包进行备份,因此它们也应该是安全的。上载是简单的文件,只需写一次,因此也不会有任何问题。数据库可能与repo和文件不完全同步,但不会导致数据丢失。总之,在GitLab运行时进行备份看起来是完全安全的,即使它不是原子备份。@sørenLøvborg我同意。
    puts "Dumping database tables ... ".blue
    ActiveRecord::Base.connection.tables.each do |tbl|
    ...