2013-04-05 20 views
6

Nếu tôi thực hiện sao lưu GitLab bằng cách sử dụng nhiệm vụ rake gitlab:backup:create giống như ai đó đang đẩy vào kho, liệu quá trình sao lưu có bị ảnh hưởng không?GitLab: Tác vụ cào sao lưu có phải là nguyên tử không?

Có cần phải tắt GitLab trước khi thực hiện sao lưu không?

+0

Xin lỗi vì lá phiếu kết thúc: người kiểm duyệt thường làm một công việc tuyệt vời, nhưng trong trường hợp này, họ chỉ đơn giản là sai (và không biết gitlab là gì). Đây là câu hỏi 100% về chủ đề cho Stack Overflow. – VonC

+0

Các cam kết mới nhất từ ​​GitLab hiển thị nhiều hoạt động nguyên tử hơn bây giờ. Xem câu trả lời đã chỉnh sửa của tôi. – VonC

+0

Trong nháy mắt, câu hỏi này chắc chắn có vẻ ngoài chủ đề hoặc ít được viết, nhưng thực sự đọc qua nó (và tóm tắt thẻ gitlab), nó có vẻ hoàn hảo về chủ đề. Đó là một công cụ phát triển và sử dụng nó. Thêm một phiếu bầu mở lại. – ssube

Trả lời

4

Nhiệm vụ gitlab/backup.rake không giống với nguyên tử.
Nó kêu gọi:

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

That uses các gem activerecord:

puts "Dumping database tables ... ".blue 
    ActiveRecord::Base.connection.tables.each do |tbl| 
    ... 

Giống như các hoạt động khác với ActiveRecord (xem this question), nó dường như không phải là một hoạt động nguyên tử toàn cầu.


Giữ trên, một vài giờ trước, randx (Dmitriy Zaporozhets), phát triển chính cho GitLab, chỉ cần tái cơ cấu bán phá giá một cơ sở dữ liệu:

Vì vậy, phần bán phá giá cơ sở dữ liệu bây giờ là nguyên tử hơn;)
Nhưng bản thân bản sao lưu, liên quan đến các bước khác bao gồm việc sao lưu bản ghi trần, không phải là nguyên tử.

+0

Bản thân các bản Repos được sao lưu bằng cách sử dụng 'git bundle', vì vậy chúng cũng an toàn. Tải lên là các tệp đơn giản và ghi một lần, vì vậy cũng không có vấn đề gì. Cơ sở dữ liệu có thể không hoàn toàn đồng bộ với repos và các tập tin, nhưng không phải là một cách mà sẽ gây ra mất dữ liệu. Tất cả trong tất cả, nó trông hoàn toàn an toàn để làm một bản sao lưu trong khi GitLab đang chạy, ngay cả khi nó không phải là nguyên tử. –

+0

@ SørenLøvborg Tôi đồng ý. – VonC

Các vấn đề liên quan