Takeout JSON

구글 포토 사진 전부를 외장하드에 백업하는 올바른 순서

구글 포토를 외장하드로 옮길 때 그냥 복사하면 날짜 없는 사진 수만 장을 보관하게 됩니다. 테이크아웃 요청부터 폴더 구조, 복사, 확인까지의 순서입니다.

구글 포토 용량이 다 찼고, 매달 결제하는 대신 사진을 전부 외장하드에 내려놓기로 했습니다. 복사 자체는 쉬운 부분입니다. 함정은 망가진 라이브러리를 복사해 놓고 백업이라고 부르는 것입니다.

고치지 않은 테이크아웃 내보내기를 외장하드에 끌어다 놓으면, 오늘 날짜에 위치도 없는 사진 수천 장과 아무도 다시 열지 않을 .json 파일 더미를 보관하는 셈입니다. 5년 뒤 그 드라이브를 꽂았을 때 무엇을 언제 찍었는지 알 방법이 없습니다. 사이드카는 기술적으로는 거기 있겠지만, 그때 합치기를 할 확률은 지금보다 낮습니다.

보관본은 각 파일이 자기 이야기를 갖고 있을 때만 쓸모가 있습니다. 날짜, 시각, GPS가 사진 안에 있어야 한다는 뜻입니다. 복사나 동기화 한 번에 사진과 떨어질 수 있는 동반 파일이 아니라요.

1. 전체를 테이크아웃으로 요청하기

구글 포토 웹이나 앱에서 사진을 하나씩 내려받는 것은 몇백 장까지입니다. 전체는 takeout.google.com에서 요청합니다. "모두 선택 해제"를 누르고 Google 포토만 체크합니다. 조각 크기는 연결이 안정적이면 10GB, 아니면 2GB를 고릅니다. 이메일이 오기까지 작은 라이브러리는 몇 시간, 큰 것은 하루 이틀 걸립니다.

구글 포토 설정의 저장 공간 사용량이 내보내기 크기의 기준입니다. 앨범 사본이 더해지므로 200GB 라이브러리는 200에서 250GB가 됩니다. 외장하드는 그 두 배 이상 여유가 있어야 편합니다. zip과 압축을 푼 파일이 잠시 같이 있기 때문입니다.

2. 조각을 전부 한 폴더에 풀기

zip 조각은 7일 안에 모두 내려받아야 합니다. 번호에 빈 곳이 없는지 확인하고, 마지막을 제외한 조각이 선택한 크기와 비슷한지 봅니다. 그다음 전부 같은 상위 폴더에 풉니다. 사진과 그 짝인 .json이 다른 조각에 들어 있는 경우가 흔해서, 따로 풀면 짝이 깨집니다. 윈도우에서는 반디집이나 7-Zip이 내장 압축 풀기보다 훨씬 빠릅니다.

압축을 푸는 위치는 외장하드가 아니라 내장 SSD가 좋습니다. 작은 파일 수만 개를 다루는 작업은 USB 외장하드에서 몇 배 느립니다. 내장 드라이브에 공간이 없다면 외장하드에서 해도 되지만 시간을 넉넉히 잡으십시오.

3. 날짜와 위치를 파일 안에 쓰기

이것이 대부분의 사람이 건너뛰는 단계입니다. 테이크아웃의 사진은 EXIF 촬영일이 없는 경우가 많고, 실제 날짜는 옆의 .json에 있습니다. 스크린샷, 카카오톡 사진, 스캔, 구글 포토 안에서 날짜를 고친 사진이 그렇습니다. 이 값을 사진 안에 쓰지 않으면 외장하드의 사진은 영원히 압축을 푼 날짜입니다. 테이크아웃 사진 날짜가 틀리는 이유에 설명이 있습니다.

Takeout JSON Metadata Fixer는 내보내기 전체를 훑어 모든 사진과 동영상에 실제 날짜와 위치를 쓰고, 지나가면서 연/월 폴더로 정리해 줍니다. 앨범 폴더의 중복은 한 번만 쓰이므로 결과가 원본보다 작아지는 경우도 흔합니다. 결과 폴더를 외장하드로 직접 지정할 수 있지만, 내장 드라이브에 쓴 뒤 완성된 폴더를 한 번에 복사하는 편이 빠릅니다. 윈도우, 맥, 리눅스에서 오프라인으로 동작하고 인터페이스는 한국어입니다. 1000장까지 무료, 무제한은 19.99달러 한 번입니다.

명령줄이 편하다면 exiftool로도 됩니다. exiftool 안내에 명령이 있습니다.

4. 사람이 읽을 수 있는 폴더 구조

외장하드의 사진은 갤러리 앱 없이 탐색기로 볼 일이 많습니다. 그래서 폴더 구조가 중요합니다. 연도 아래 월, 2019/07-July/2019-07-14-1105_Jeju.jpg 형태가 대부분에게 맞습니다. 폴더 크기가 적당하고, 어떤 컴퓨터에서도 순서대로 정렬되며, 10년 뒤에도 이해할 수 있습니다. 사진을 날짜순으로 폴더에 정리하기에서 다른 구조와 비교합니다.

파일 이름에 날짜가 들어가면 폴더 밖으로 파일 하나를 꺼내도 언제 찍었는지 알 수 있습니다. IMG_4711.JPG보다 2023-06-17-1306_Seoul.jpg가 보관용으로 낫습니다.

동영상과 라이브 포토

동영상도 같은 문제를 겪습니다. MP4와 MOV는 EXIF 대신 컨테이너 안의 생성 날짜를 쓰는데, 테이크아웃의 동영상에는 이 값이 비어 있는 경우가 많습니다. 사진만 고치는 도구를 썼다면 외장하드의 동영상은 여전히 압축을 푼 날짜입니다. 아이폰의 라이브 포토는 정지 사진과 짧은 동영상 두 파일로 오므로, 보관용으로는 같은 이름으로 나란히 두거나 동영상을 버리는 것 중 하나를 정해야 합니다. 앱은 둘 다 처리하고, 동영상은 정지 사진의 날짜를 물려받습니다.

5. 복사하고 확인하기

완성된 폴더를 외장하드로 한 번에 복사합니다. 윈도우 탐색기로 끌어다 놓아도 되고, 타임스탬프까지 그대로 두려면 robocopy에 /COPY:DAT를 씁니다. 맥은 파인더, 리눅스는 rsync -a입니다. USB 3.0이면 200GB에 한 시간 안팎입니다.

복사가 끝나면 외장하드에서 사진 몇 장을 직접 엽니다. 연도가 다른 사진 몇 장, 스크린샷 하나, 카카오톡 사진 하나, 동영상 하나. 탐색기의 "찍은 날짜" 열이 구글 포토에서 보던 값과 같으면 됩니다. 틀린 것이 있으면 아직 zip이 있을 때 3단계로 돌아갑니다.

6. 백업의 백업

외장하드 하나는 백업이 아니라 사본입니다. 드라이브는 고장 납니다. 가능하면 두 번째 외장하드에 한 번 더 복사하거나, 정리한 폴더를 NAS나 네이버 MYBOX 같은 클라우드에도 올리십시오. 날짜가 파일 안에 있으므로 어디에 두든 순서가 유지됩니다. 원본 zip은 새 보관본을 몇 주 확인한 뒤 지웁니다.

자주 묻는 질문

외장하드에 .json 파일도 같이 두어야 하나요?

날짜와 위치를 사진에 쓴 뒤라면 필요 없습니다. 앱으로 정리했다면 결과 폴더에 남지 않습니다. 직접 exiftool로 했다면 확인 뒤 지우십시오. JSON 파일 삭제에 순서가 있습니다.

HEIC를 JPG로 바꿔서 보관할까요?

10년 뒤 어떤 컴퓨터에서든 열리기를 원한다면 JPG가 안전한 선택입니다. 용량이 두 배쯤 되고 화질이 조금 떨어집니다. 공간이 있으면 HEIC 원본과 JPG를 둘 다 두는 사람도 있습니다.

구글 포토에서 지워도 되는 시점은?

외장하드와 두 번째 사본에서 사진을 확인한 뒤입니다. 구글 포토 휴지통은 60일이므로 그 안에는 되돌릴 수 있습니다.