짧게 답하면: 백업 준비 중은 Time Machine이 지난번 이후 바뀐 것을 알아내는 단계예요. 보통 시스템이 보관하는 변경 기록에서 읽어 와요. 그 기록을 쓸 수 없으면 대신 디스크의 모든 파일을 훑는데, 40초와 4시간의 차이가 여기서 나요.
다음 섹션의 명령어가 둘 중 어느 쪽인지 알려주니, 더 이상 추측하지 않아도 돼요.
Time Machine은 한 바이트라도 복사하기 전에 무엇을 복사할지 정해야 해요. macOS는 FSEvents라는 파일 시스템 변경 기록을 계속 남기고, 좋은 경우에는 Time Machine이 마지막 백업 이후 바뀐 모든 것을 그 기록에 물어보는데, 가득 찬 디스크에서도 몇 초면 돼요.
나쁜 경우에는 그 기록이 답하지 못해요. 그러면 Time Machine은 정밀 검사로 돌아가는데, 원본의 모든 파일을 하나씩 마지막 백업과 비교한다는 뜻이에요. 대부분 아주 작은 파일 100만 개가 있는 Mac에서는 무엇이든 복사하기 전에 몇 시간이 걸려요. 진행 막대는 이 중 아무것도 알려주지 않아요. 두 경우 모두 “백업 준비 중”이라고만 해요.
명령어 두 개. 어느 것도 아무것도 바꾸지 않아요.
tmutil status
Percent와 BytesCopied를 찾으세요. 실제 준비 단계에서는 둘 다 0으로 유지되는 게 정상이에요. 원하는 건 어느 경로를 택했는지 분명히 말해 주는 로그예요.
log show --predicate 'subsystem == "com.apple.TimeMachine"' --last 1h --info | grep -i -E "deep|event|scan|prepar"
Deep event scan이나 event database is not usable이 언급된 줄이 답이에요. 모든 것을 검사하고 있어요. 이벤트를 읽는다는 줄과 적은 수의 경로가 나온다면 변경 기록은 작동했고 다른 무언가가 느린 거예요.
대신 실시간으로 보려면 이렇게 하고, Control-C로 멈추세요.
log stream --predicate 'subsystem == "com.apple.TimeMachine"' --info
비교할 이전 백업이 없으니 디스크 전체를 읽어요. USB로 가득 찬 드라이브라면 몇 시간이 보통이고, Wi-Fi라면 훨씬 더 걸려요. macOS 업데이트도 변경 기록을 무효화하므로, 업데이트 후 첫 백업은 당연히 정밀 검사예요. 연결하고 밤새 두었다가, 아침에 다른 무엇을 하기 전에 확인하세요.
한동안 사용해 온 Mac에서 흔한 경우예요. 비정상 종료, 가득 찬 디스크, 복구된 볼륨 모두 FSEvents를 쓸 수 없게 만들 수 있고, 그 후로는 무언가가 다시 만들 때까지 모든 백업이 정밀 검사예요. 백업은 여전히 작동해요. 매번 몇 시간이 걸릴 뿐이에요.
재시동하면 많은 경우 시동 볼륨의 기록이 다시 만들어지고, 가장 손쉽게 시도할 수 있는 방법이에요.
중단된 백업은 대상에 .inProgress로 끝나는 폴더를 남겨요. Time Machine은 새 작업을 시작하기 전에 이를 정리하려 하는데, 네트워크 대상에서는 그 정리가 백업보다 오래 걸릴 수 있어요. 백업 드라이브에서 HFS+ 디스크라면 Backups.backupdb 안을, APFS 디스크라면 볼륨 자체의 폴더를 보세요.
.inProgress 폴더를 지우면 완료되지 않은 백업 하나만 버려지고 다른 건 그대로예요. 완료된 백업은 모두 별도의 폴더이고 건드려지지 않아요. Finder에서 휴지통으로 옮기고, 휴지통을 비운 다음, 직접 백업을 시작하세요.
정밀 검사는 파일 크기가 아니라 파일 수에 좌우돼요. 40GB 동영상 파일 하나는 비교 한 번이에요. 40GB node_modules 디렉터리는 200만 번일 수 있어요. Xcode의 DerivedData, npm과 yarn 캐시, Docker 이미지, Homebrew의 cellar, Steam 라이브러리가 흔한 원인이고, 모두 다시 만들 수 있어요.
시스템 설정, 일반, Time Machine, 옵션에서 제외하세요. 그러면 검사와 복사가 모두 짧아지고, 되찾고 싶을 만한 것은 하나도 잃지 않아요.
Time Machine은 NAS나 공유 Mac에 디스크 이미지를 쓰고, 그 모든 파일 비교가 네트워크를 거쳐요. 집 끝자락의 Wi-Fi에서는 정밀 검사에 하루가 걸릴 수 있어요. Mac을 라우터 옆으로 옮기거나 이더넷을 쓰고, 같은 백업이 한 시간 안에 끝나는지 보세요.
전혀 끝나지 않는다면 공유 자체가 문제일 가능성이 높고, 이미 있는 것을 읽을 수 있는지 알아보는 방법은 확인이에요.
.inProgress 폴더가 생기는 이유가 그거예요. Time Machine은 메뉴 막대 항목이나 tmutil stopbackup으로 안전하게 중지할 수 있어요.백업 준비 중은 상태 표시일 뿐이고, 작업이 1분 뒤에 끝나든 영원히 끝나지 않든 같은 상태예요. 실제로 원하는 숫자는 마지막으로 성공한 백업이 언제 끝났는지인데, Time Machine은 그걸 열어 봐야 하는 메뉴 뒤에 둬요.
Copy Shelter는 메인 화면에 마지막으로 완료된 백업의 경과 시간을 보여주고, 7일 동안 백업이 없으면 알려줘요. 작업하는 동안 어느 단계인지, 어떤 파일을 처리 중인지도 보여주므로, 긴 작업은 긴 작업으로, 멈춘 작업은 멈춘 것으로 보여요.
그리고 백업이 끝났다고 해도, 끝났다는 건 아무도 확인하지 않은 사본에 대한 주장일 뿐이에요. Copy Shelter는 예약에 따라 저장한 해시와 비교하며 다시 읽으므로, 조용히 읽을 수 없게 된 백업을 평범한 화요일에 알게 돼요.
변경 기록이 작동하면 디스크 크기와 관계없이 몇 초에서 몇 분이에요. 정밀 검사로 돌아갔다면 몇 시간이에요. 위의 로그 명령이 어느 쪽인지 알려주고, 그게 유일하게 믿을 만한 방법이에요.
네. 이 단계에서는 아직 아무것도 쓰이지 않았어요. 메뉴 막대의 Time Machine 항목에서 중지하거나 tmutil stopbackup을 실행하세요. 위험한 건 복사 단계에서 강제 종료하거나 드라이브를 뽑는 것이고, 그러면 .inProgress 폴더가 남아요.
대체할 수 없는 것을 제외할 때만 그래요. 캐시, 빌드 디렉터리, 패키지 관리자 폴더, 다운로드한 게임 라이브러리는 모두 인터넷에서 다시 만들 수 있어요. Mac에서 백업해야 할 것에서 목록을 살펴봐요.
그렇다면 원본을 검사하는 중이고 아직 쓰지 않는 거예요. 드라이브 활동은 복사 단계에서 시작돼요. 한 시간 동안 로그에 TimeMachine 하위 시스템의 출력이 전혀 없다면 프로세스 자체가 멈췄을 수 있고, 다음 단계는 재시동이에요.
같은 일을 같은 두 가지 방법으로 해야 하므로, 첫 실행은 모든 것을 읽어요. 다른 점은 어느 단계에 있고 무엇을 처리 중인지 알려주고, 메인 화면의 점수는 시작한 백업이 아니라 완료된 마지막 백업을 기준으로 한다는 거예요.
관련 글: Time Machine에서 공간이 부족하다고 할 때, 백업이 멈추고 아무 말도 없을 때, Copy Shelter와 Time Machine 비교.