2013-04-05 3 views
6

누군가가 리포지토리로 밀어 넣는 것처럼 gitlab:backup:create 레이크 작업을 사용하여 GitLab 백업을 만들면 백업 프로세스가 영향을 받습니까?GitLab : 백업 레이크 작업이 원 자성입니까?

백업을 수행하기 전에 GitLab을 종료해야합니까?

+0

닫는 투표에 대한 죄송합니다 : 중재자는 대개 훌륭한 일을하고 있지만,이 경우에는 단순히 잘못되었습니다 (그리고 gitlab이 무엇인지 전혀 모릅니다). 이것은 스택 오버플로에 대한 100 % 질문입니다. – VonC

+0

GitLab의 최신 커밋은 더 많은 원자 연산을 보여줍니다. 내 편집 된 답변보기 – VonC

+0

한눈에이 질문은 주제를 잘못 보거나 잘못 말하지만, 실제로 그것을 읽고 (그리고 gitlab 태그 요약) 주제에 대해 완벽하게 보입니다. 그것은 개발자 도구이며 그 사용법입니다. 재개표 추가. – ssube

답변

4

작업 gitlab/backup.rake 자체는 원자 적으로 보이지 않습니다.
이 호출

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

That usesgem activerecord : 액티브 다른 작업 (this question 참조)는 글로벌 원자 작동 될 것 같지 않습니다처럼

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

.
system("mysqldump #{mysql_args} #{config['database']} > #{db_file_name}") :

데이터베이스를 덤프하는 부분이 이제는 더 많은 원자가됩니다.)
베어 리포 (bare repos)를 백업하는 것을 포함하여 다른 단계를 포함하는 백업 자체는 원 자성이 아닙니다.

+0

repos 자체는'git bundle '을 사용하여 백업되므로 안전해야합니다. 업로드는 단순한 파일이며 1 회성 기록이므로 아무런 문제가 없어야합니다. 데이터베이스가 repos 및 파일과 완벽하게 동기화되지는 않지만 데이터 손실이 발생하는 방식으로는 동기화되지 않을 수 있습니다. GitLab이 실행 중일 때 비록 원자가 아니더라도 백업을하는 것이 전적으로 안전합니다. –

+0

@ SørenLøvborg 동의합니다. – VonC

관련 문제