구글 드라이브에서 OneDrive로 파일 옮기는 법

구글 드라이브에서 OneDrive로 파일 옮기는 법
Photo by Elle Cartier / Unsplash

Google Drive는 올해 5월달인가 그쯤부터 갑자기 무제한 용량을 줄여 대학별로 정해진 용량의 스토리지만을 할당해줬고, 그 여파로 Google Drive에 대용량 파일을 저장해 두던 대학생들은 OneDrive (등)으로 파일을 옮겨야 한다.

이 글은 Google Drive에서 OneDrive로 파일을 옮기려고 한 삽질을 기록한다. 결론이 궁금한 사람은 처음 삽질 건너뛰고 게시글 최하단의 둘쨰 삽질 참고하면 된다. 첫째 삽질은 성과가 그냥 아무것도 안 나왔고 이렇게 하면 안 된다 정도의 기록 용도다.

처음 삽질: rclone으로 gdrive-onedrive copy(성과 없음. 안됨)

1. chocolatey 설치

chocolatey란 Linux의 apt에 대응되는 Windows의 Package Manager이다. 쉽게 말해 여러 소프트웨어를 명령어 하나로 간편하게 설치하고, 업데이트하고, 제거할 수 있도록 설계한 것을 말한다.

Chocolatey 설치 방법은 공식 설치 링크 를 참고하거나 아래 명령어를 관리자 권한으로 실행한 cmd, powershell, windows terminal 등에 붙여 넣어 실행하면 된다. (관리자 권한 없이 실행하면 안 되니 유의.) 아래 명령어에서 설치 명령어가 왠만하면 바뀌진 않겠으나 이 글의 작성 시점과 독자가 이 글을 읽는 시점 간 시간 차이가 많이 나면 혹시 설치 명령어가 바뀌었을 수 있으니 공식 설치 링크를 참고하자.

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

2. rclone, winfsp 설치

관리자 권한으로 cmd, powershell, windows terminal 등을 열고 choco install rclone winfsp를 실행한다.

3. rclone 설정

이제 rclone을 설정하고 마운트를 해볼 건데, 관리자 권한으로 쉘을 열 필요는 없다. (오히려 무슨 이유인지는 잘 모르겠는데 관리자 권한으로 rclone mount같은 걸 했을 때 실행이 안 되는 경우가 있다.)

커맨드 창을 열고 rclone config를 입력한다.

그리고 아래 커맨드를 따라 gdrive:onedrive:의 remote를 추가한다. 영상도 추가하니 참고 바람. 영상은 개인 토큰이 노출되기 전에 영상을 잘라버렸는데, 영상에서 잘린 부분 이후로 "이 설정 맞음?? 맞으면 엔터치셈" 이런 메시지가 나오는데 하라는 대로 엔터 한번만 더 치면 된다.

단, 나는 rclone v1.57.0을 기준으로 서술하고 있는데 혹시 버전이 좀 많이 다르다면 입력해야 하는 게 좀 다를 수도 있다. 그런 경우 알아서 잘 바꿔서 커맨드 입력해보자.

그런 게 아니면 진짜 아래에 내가 적어둔 대로 대충 몇글자 끄적이고 전부 엔터치면 알아서 설정 다 된다. 매우 편리함.

====아래부터 onedrive 설정====
n
onedrive
onedrive
(엔터)
(엔터)
(엔터)
(엔터)
(브라우저에 창 열리면 onedrive 로그인)
1
(엔터)
(엔터)

====아래부터 gdrive 설정====
n
gdrive
drive
(엔터)
(엔터)
1 (read만 할거면 2도 무관할듯)
(엔터)
(엔터)
(엔터)
(엔터)
(브라우저 열리면 gdrive 로그인)
(엔터)
(엔터)

====q 입력해서 config에서 나갑니다====
0:00
/
0:00
/

4. gdrive->onedrive

rclone copy gdrive: onedrive: --log-level INFO 입력해준다. --log-level INFO가 뭐냐면, 저거 없이 실행하면 rclone이 오류 메시지 같은 중요한 메시지 말고는 그닥 출력을 안 하고 조용히 실행하는데 그러지 말고 무슨 작업을 하는 족족 출력해달라고 하기 위해 넣는 것이다. 다시 말해 그런 출력 메시지 보고 싶지 않다면 안 넣어도 아무 상관 없다. 그냥 개인 취향임.

문제점

이렇게 하면 문제가 생긴다. rclone 기본 api로 gdrive에서 파일을 다운로드 받으면 20KiB/s라는 경악스럽게 낮은 속도로 파일이 다운로드가 된다. (낮은 용량의 많은 파일 기준)

나무위키 서술 피셜 google drive가 문제라고, 여기서 일부러 속도를 낮춰버리는 것이라고 한다. 그리고 내 경험상으로도 이건 onedrive 문제가 아니다. onedrive는 내가 항상 쓰지만 업로드 다운로드 전부 빠르다고...

해결 시도

google cloud platform에서 프로젝트를 만들고 google drive api를 만들어 rclone config에서 gdrive에 직접 만든 google drive api를 등록해봤다.

해결 안됨

속도가 2배쯤 빨라지긴 했는데 그래봤자 37.764KiB/s이다. TB 단위로 저장한 사람은 올해 안에 못 옮길 것 같다.

둘째 삽질: google drive 데스크탑 앱에서 원드라이브로 옮기기

google drive 데스크탑 앱을 설치한다. 원드라이브로 파일을 옮긴다.

나는 어차피 google drive에서 옮길 파일이 없는데 다른 사람 부탁으로 올린거라 이건 직접 해보지는 않겠다. 근데 이것조차 속도가 안 나오면 그건 google drive에 진짜 심각한 문제가 있는거고, 설마 그렇지는 않을 거라 생각한다. 설마 공식 데스크탑 앱으로 다운받는데 속도가 저따구로 나오겠어?