如果我使用GitLab rake任务进行gitlab:备份:创建备份,就像有人正在推送存储库一样,备份过程会受到影响吗?
是否有必要在执行备份之前关闭GitLab?
发布于 2013-04-05 05:47:07
任务gitlab/backup.rake本身看起来并不是原子的。
它呼吁:
Rake::Task["gitlab:backup:db:create"].invoke
Rake::Task["gitlab:backup:repo:create"].invoke用过 the activerecord
puts "Dumping database tables ... ".blue
ActiveRecord::Base.connection.tables.each do |tbl|
...与使用ActiveRecord的其他操作一样(参见这个问题),它似乎不是一个全局原子操作。
等等,几个小时前,拉朗(Dmitriy Zaporozhets),GitLab的主要开发人员,刚刚重构了一个数据库:
mysqldumpsystem("mysqldump #{mysql_args} #{config['database']} > #{db_file_name}")的用法。GRANT SELECT, LOCK TABLES, ...因此,转储数据库的部分现在更具有原子性;)
但是备份本身并不是原子性的,它涉及其他步骤,包括备份裸露的repos。
https://stackoverflow.com/questions/15825735
复制相似问题