rclone 으로 PC의 파일을 google drive 에 업로드하기

햄스터아저씨·2025년 3월 25일

rclone 이란 여러 Storage 서비스를 연동하는 프로그램이다. (AWS S3, Cloudflare R2, Google Drive 등)
로컬의 자료를 구글 원격 드라이브에 백업하기 위해, rclone 을 사용해보자

  1. install rclone (아래는 맥의 경우이며, 리눅스나 윈도우의 경우 별도 방식으로 설치하자)
brew install rclone
  1. rclone config 수행하기
rclone config
  • new Remote 선택
  • 이 때 입력할 서버명은 remote 를 추천. 앞으로 나올 예시가 모두 remote 명칭이라서.
  • google client-id 발급받기
    아래 링크에 작성된 순서대로 수행한다.
    • https://rclone.org/drive/#making-your-own-client-id
      1. Google API Console 접속
      2. 새 프로젝트 생성
      3. API 및 서비스
      4. OAUTH 동의화면 구성하기. 아래는 예시
        • 앱 이름: my-rclone
        • 지원 이메일: my-email@gmail.com
        • 대상: 외부 (별도의 구글 workspace 설정이 없는 경우 외부만 선택 가능)
      5. scope 지정
        • 좌측패널 > 데이터 엑세스 > 범위 추가 또는 삭제에서 위 링크에 있는 3개의 api 선택
      6. 대상 지정
        • 테스트 사용자 > + ADD USERS
      7. OAuth Client 생성
        • 데스크톱 앱. 이름은 뭐든 상관없음. 한글이라, 영어로 바꾸기 위해 rclone-homeserver 이라 해야지
        • OAuth consent screen 동의화면에 가서 publish app 해서 id 얻기
  1. 생성된 client-id를 입력
  2. 생성된 client_secret 를 입력
  3. scope 설정. 이는 권한설정으로 1번을 선택하면 모든 권한이 부여된다
  4. service_account_file 는 넘어가자
  5. advanced config 도 n 으로 넘어가자
  6. 구글 자동인증 단계 Use web browser to automatically authenticate rclone with remote?
    • 이 단계부턴 app 인증을 위해 인터넷 브라우저 연동이 가능한 PC에서 작업을 수행해야 함.
    • PC에 브라우저가 있는 경우, 제시된 rclone 명령어를 그대로 복사해서, 진행하면 됨
    • 없는 경우, 브라우저가 있는 PC에서 rclone 을 새로 설치하고, 해당 명령어를 실행해야 함.
    • 이는 나의 google 계정을 내가 cloud 에 만든 앱에 등록하는 과정으로 보이며, google drive에 대한 인증을 딱 1회만 수행하면 되는 것으로 보임
    • 수행시 토큰이 생김. 이걸 기존에 진행중이던 원 rclone 터미널에 붙여넣으면 됨

이렇게 하면 ~/.config/rclone/ 디렉토리에 rclone.conf 파일이 생김

단 이렇게 받은 토큰은 테스트용으로, 기간이 짧다.

  • 이렇게 발급받은 google token 의 만료기간은 약 일주일이다.
  • 갱신을 위해서는 rclone config 명령을 통해 edit 을 하여 위 과정을 똑같이 수행하면 된다
  • 이미 client_id 와 secret은 발급 받았으므로 새로 발급받을 필요는 없고, 토큰만 갱신하면 됨
  • 위 8번 단계에서 Already have a token - refresh? 항목이 나오며, 여기서 y를 눌러 8번 단계를 다시 수행할 수 있음

이후 아래와 같은 명령어를 통해 사용 가능.

  • rclone cp ./backup remote:/my-service/backup;

    • ./backup 폴더의 내용을, 구글 드라이브의 /my-service/backup 폴더에 붙여넣는다.
  • rclone sync ./backup remote:/my-service/backup;

    • ./backup 폴더의 내용과, 구글 드라이브의 /my-service/backup 폴더의 내용을 똑같이 맞춘다.
    • 현재 폴더에 없는 파일은 삭제하고, 있는 폴더는 추가한다.
  • rclone mount

    • 현재 PC에 구글 드라이브의 특정 공간을 마운트하여 사용한다.

참고자료

profile
서버도 하고 웹도 하고 시스템이나 인프라나 네트워크나 그냥 다 함.

0개의 댓글