Rclone + systemd를 사용해 어떤 Linux 폴더든 Google Drive에 동기화
Source: Dev.to
rclone 설치
sudo apt install rclone
버전 확인:
rclone version
Google Drive 설정
설정 마법사를 실행합니다:
rclone config
- n) New remote 를 선택하고 이름을
gdrive로 지정합니다. - 원격 타입으로
drive를 선택합니다. - 다음 프롬프트에서는 기본값을 그대로 사용합니다:
- Client ID: Enter 키 입력
- Client Secret: Enter 키 입력
- Scope:
1) Full access - Use auto config: Yes (rclone이 브라우저를 열어 로그인 및 권한 부여를 진행합니다)
- Configure as a Shared Drive?: No
- Keep this remote?: Yes
원격을 확인합니다:
rclone lsd gdrive:
Drive 폴더가 표시될 것입니다.
자동 동기화할 폴더 선택
예시 로컬 폴더:
/home/arunkrish/workspace
원격 경로는 다음과 같이 업로드됩니다:
gdrive:workspace
sync 를 사용하지 않는 이유
rclone sync 는 소스를 그대로 미러링하므로 로컬에서 삭제된 파일이 Google Drive에서도 삭제됩니다—백업 용도로는 부적합합니다.
대신 rclone copy 를 사용하면 새 파일이나 변경된 파일만 업로드되고 원격에서 파일이 삭제되지 않습니다.
systemd 자동 업로드 서비스 만들기
서비스 유닛
mkdir -p ~/.config/systemd/user
nano ~/.config/systemd/user/gdrive-workspace.service
다음 내용을 추가합니다:
[Unit]
Description=Upload workspace to Google Drive
[Service]
Type=oneshot
ExecStart=/usr/bin/rclone copy /home/arunkrish/workspace gdrive:workspace --verbose --create-empty-src-dirs
타이머 유닛
nano ~/.config/systemd/user/gdrive-workspace.timer
다음 내용을 추가합니다:
[Unit]
Description=Run workspace uploader every 5 minutes
[Timer]
OnBootSec=2min
OnUnitActiveSec=5min
[Install]
WantedBy=timers.target
타이머 활성화 및 시작
systemctl --user enable --now gdrive-workspace.timer
모든 타이머 확인
systemctl --user list-timers
목록에 gdrive-workspace.timer 가 표시될 것입니다.
스마트 자동 동기화 작동 방식
- Internet OFF → rclone이 대기합니다.
- Internet ON → rclone이 새 파일을 업로드합니다.
- 이미 업로드된 파일은 다시 업로드되지 않습니다.
- 로컬에서 삭제된 파일은 Drive에서 삭제되지 않습니다.
이렇게 하면 진정한 클라우드 백업 동작을 제공합니다.
언제든지 동기화 일시 중지 (Low Data Mode)
자동 업로드를 일시 중지하려면:
systemctl --user stop gdrive-workspace.timer
재개하려면:
systemctl --user start gdrive-workspace.timer
영구적으로 비활성화하려면:
systemctl --user disable gdrive-*.timer
수동 업로드 (선택 사항)
즉시 업로드를 강제하려면:
rclone copy /home/arunkrish/workspace gdrive:workspace
요약
rclone 과 systemd 를 함께 사용하면 다음과 같은 장점을 얻을 수 있습니다:
- 자동 폴더 업로드
- 낮은 데이터 사용량
- Drive에서 파일 삭제 없음 (안전한 백업)
- 오프라인 복원력
- 언제든지 일시 중지/재개할 수 있는 완전한 제어
이 설정은 공식 동기화 클라이언트보다 더 깔끔하고 강력합니다.