如果我使用gitlab创建 GitLab备份:backup:创建 rake任务就像有人推送到存储库一样,备份过程会受到影响吗?
在进行备份之前是否有必要关闭GitLab?
任务gitlab/backup.rake本身看起来不是原子的。
它调用:
Rake::Task["gitlab:backup:db:create"].invoke
Rake::Task["gitlab:backup:repo:create"].invoke
Run Code Online (Sandbox Code Playgroud)
puts "Dumping database tables ... ".blue
ActiveRecord::Base.connection.tables.each do |tbl|
...
Run Code Online (Sandbox Code Playgroud)
与 ActiveRecord 的其他操作一样(请参阅此问题),它似乎不是全局原子操作。
等等,几个小时前,GitLab 的主要开发人员randx (Dmitriy Zaporozhets)刚刚重构了转储数据库:
mysqldump:system("mysqldump #{mysql_args} #{config['database']} > #{db_file_name}")GRANT SELECT, LOCK TABLES, ...因此,转储数据库的部分现在更具原子性;)
但是备份本身,包括其他步骤,包括备份裸存储库,不是原子的。
| 归档时间: |
|
| 查看次数: |
1131 次 |
| 最近记录: |