미숑이의 블로그
블로그 홈소개

© 2025 Ryu Mi Sung. All rights reserved.

목차

문제 상황
대안
해결: rclone을 이용한 Google Drive 자동 업로드 설정
결과
마치며
인턴자동화

[인턴] 모니터링 자동화 프로그램 - rclone으로 Google Drive 업로드 시간 80% 단축 (3편)

류미성
2025년 2월 21일

문제 상황

매일 오후 6시가 지나면, 그날 동안 캡쳐된 약 480장의 이미지(1분마다 촬영 × 60분 × 8시간)를 특정 Google 드라이브에 자동 업로드하는 프로그램을 구현했다. 덕분에 기존에 노트북에서 직접 수동 업로드하던 번거로운 작업을 자동화할 수 있었습니다.

하지만 이 프로그램을 시범적으로 4대의 노트북에서 사용해보니 몇 가지 이슈가 드러났어요. 특히 구글 드라이브 업로드 시간이 너무 오래 걸린다는 점이 사용성 측면에서 큰 문제였습니다. 현재는 4대에서만 운영 중이지만, 안정화 이후 약 20대의 노트북에서 운영할 예정이었기에, 더 범용적이고 안정적인 프로그램으로 개선할 필요가 있었어요.

[이슈 요약]

  • 480장 업로드에 약 50분 소요
  • Google Drive API 키 발급 필요 → 지속적인 API 키 관리 필요, 개발자 부재 시 대응이 어려움, API 업데이트 시 모든 노트북에 재설정 필요
  • 각 노트북에서 Google 로그인 필요 → 시간 소모 및 계정 보안 이슈, 미로그인 시 자동 업로드 불가능
  • 업로드 완료 후 약 50분 뒤에야 모니터링 노트북 종료 가능 → 노트북 종료까지 시간 지연

대안

우선, GPT와 대화를 통해 기존 방식을 개선할 수 있는 방법으로 Google Drive API를 대신할 수 있는 대안을 물어보았습니다.

39f2efe0-b4d3-42fc-80b9-ef9a43dce615.png

다양한 옵션이 있었지만, 구현 난이도 상관없이 사용자의 사용성을 우선시해야 한다고 생각하였고, 마침 약 480장의 대용량 이미지를 매일 업로드해야 하는 상황이므로 rclone으로 자동업로드 방식을 변경해보기로 하였습니다.

  • rclone?
    • 구글의 Go 언어로 만든 클라우드 스토리지 특화 업로드/다운로드 프로그램으로,
    • 대량의 파일을 빠르고 안정적으로 Google Drive에 자동 업로드할 수 있다.

해결: rclone을 이용한 Google Drive 자동 업로드 설정

  1. 프로젝트 폴더에서 rclone을 설치

  2. 명령 프롬프트(cmd)를 열고, rclone을 실행

    rclone config
  3. 아래의 프롬프트에 따라 설정을 진행

    1. New remote: n

    2. Name: gdrive (원하는 이름 입력)

    3. Storage: drive (구글 드라이브 선택)

    4. Client Id: 빈 칸으로 두고 Enter

    5. Client Secret: 빈 칸으로 두고 Enter

    6. Scope: 1 (전체 접근)

    7. Root Folder ID: 빈 칸으로 두고 Enter

    8. Service Account File: 빈 칸으로 두고 Enter

    9. Edit advanced config: n

    10. Use auto config: y

    11. 웹 브라우저가 열리고, 구글 계정에 로그인하여 rclone에 접근하도록 허용

    12. 인증 후, rclone 창으로 돌아가서 y을 입력하여 설정을 완료

    13. Configure this as a Shared Drive (Team Drive)?: y

    14. 공유 드라이브 내 폴더 선택

      22346bc1-7150-481e-99f1-a7d29af821c4.png

  4. 발급된 토큰을 프로젝트 코드에 추가하여 연동

    • 저의 경우 복사하여 프로젝트 내 rclone.conf 파일에 그대로 넣어두었어요

      [teamdrive]
      type = drive
      scope = drive
      token = [TOKEN]
      team_drive = [DRIVE_ID]

결과

rclone 적용해보니 약 480장의 사진 기준으로 하여, 업로드 시간을 1/10으로 단축되는 성과가 있었어요.

  • (이전) 구글 드라이브 API 이용 → 약 50분 내외
  • (이후) rclone → 약 6분 내외
    • 결과적으로 약 480장의 이미지를 업로드하는데 6시부터 약 6분이 걸렸습니다.

    • (제 구글 드라이브 계정으로 토큰을 발급받았기에, 내가 직접 업로드한 것으로 기록되는 중)

      3c08fe91-cdc9-47e9-9350-97acbeb65a6d.png


마치며

구글 드라이브 업로드는 당연히 API를 쓰면 될 거라 생각했고, 속도 문제는 크게 없을 거라 예상했습니다. 하지만 막상 사용해보니 업로드에 50분이나 걸렸고, 그 순간 ‘내가 직접 사용자라면 얼마나 불편할까?’라는 생각이 들었어요. 그때부터 대안을 계속 찾아 나갔고, 결국 업로드 시간을 크게 단축할 수 있었습니다. 이번 경험을 통해 역시 부딪혀 봐야 진짜 문제를 알 수 있다는 말을 다시 한번 느꼈습니다.