728x90

기본 개념
[로컬 시스템] ←→ [Google Drive (마운트 or API)]
활용 레벨
1️⃣ 단순 파일 복사 (cp)
2️⃣ 동기화 (rsync, rclone)
3️⃣ 자동화 (cron / launchd)
4️⃣ 보안 백업 체계 (암호화 + 무결성)
Google Drive for Desktop (가장 기본)
- GUI 기반
- macOS에 가상 디스크 형태로 마운트
- cp / rsync 그대로 사용 가능
설치 및 확인
# 마운트 위치 확인
ls ~/Library/CloudStorage/
예시
GoogleDrive-you@gmail.com
사용 예시
# 로컬 → 구글 드라이브
cp -r /data/backup ~/Library/CloudStorage/GoogleDrive-you@gmail.com/My\ Drive/
# 구글 드라이브 → 로컬
cp -r ~/Library/CloudStorage/GoogleDrive-you@gmail.com/My\ Drive/logs /data/
주의사항 (중요)
🔴 스트리밍 방식
- 실제 파일이 로컬에 없음
- cp 시 다운로드 발생
👉 성능 영향 있음
해결 방법 (오프라인 캐싱)
👉 Finder에서 폴더 우클릭
→ “오프라인 사용 가능”
보안 관점 체크포인트
- 개인 계정 vs 조직 계정 분리
- 파일 접근 로그 확인 (Google Admin)
- 로컬 캐시 파일 위치 관리
rclone (핵심 추천)
👉 자동화 / 대용량 / 보안 운영에 최적
특징
- CLI 기반
- Google Drive API 직접 사용
- 스크립트화 가능
- 암호화 기능 지원
설치
brew install rclone
설정
rclone config
설정 흐름
n(new remote)- name:
gdrive - storage:
drive - OAuth 인증 진행
300x250
기본 명령어
# 업로드
rclone copy /local/path gdrive:/backup -P
# 동기화 (삭제 포함)
rclone sync /local/path gdrive:/backup --delete-during
# 다운로드
rclone copy gdrive:/backup /local/path
마운트 (cp처럼 사용)
mkdir ~/gdrive
rclone mount gdrive: ~/gdrive --daemon
이후
cp file.txt ~/gdrive/
보안 기능 (중요)
암호화 저장
rclone config
# type: crypt
👉 Google Drive에 저장되는 파일
암호화된 파일명 + 암호화된 내용
전송 보안
- HTTPS (TLS) 기본 적용
- OAuth 토큰 사용
실무 활용 예시
# 로그 백업
rclone sync /var/log gdrive:/backup/logs -P
# 설정파일 백업
rclone copy /etc gdrive:/backup/etc -P
rsync vs rclone 비교
| 항목 | rsync | rclone |
|---|---|---|
| Google Drive 직접 | ❌ | ✅ |
| 암호화 | ❌ | ✅ |
| API 기반 | ❌ | ✅ |
| 자동화 | ⭕ | ⭕ |
| 대용량 안정성 | 중간 | 높음 |
👉 Google Drive = rclone이 정석
자동 백업 구성 (핵심)
이제 가장 중요한 자동화 구조입니다.
[백업 대상]
↓
[스크립트]
↓
[rclone]
↓
[Google Drive]
백업 스크립트 작성
#!/bin/bash
DATE=$(date +%Y-%m-%d)
SRC="/data"
DEST="gdrive:/backup/$DATE"
LOG="/var/log/backup.log"
echo "[START] $DATE" >> $LOG
rclone sync $SRC $DEST -P >> $LOG 2>&1
echo "[END] $DATE" >> $LOG
권한 설정
chmod +x backup.sh
cron 자동 실행
crontab -e
예시
# 매일 새벽 3시
0 3 * * * /Users/user/backup.sh
macOS 권장 방식 (launchd)
👉 macOS는 cron보다 launchd 권장
plist 생성
nano ~/Library/LaunchAgents/com.backup.gdrive.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.backup.gdrive</string>
<key>ProgramArguments</key>
<array>
<string>/Users/user/backup.sh</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>3</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
<key>StandardOutPath</key>
<string>/tmp/backup.log</string>
<key>StandardErrorPath</key>
<string>/tmp/backup.err</string>
</dict>
</plist>
실행
launchctl load ~/Library/LaunchAgents/com.backup.gdrive.plist
보안 운영 관점 (핵심)
데이터 암호화
- rclone crypt 사용
- 민감 데이터는 반드시 암호화
접근 통제
- Google Drive IAM 설정
- 공유 링크 차단
무결성 검증
rclone check /local/path gdrive:/backup
백업 검증
👉 단순 업로드 = ❌
👉 복구 테스트 = 필수
로그 관리
rclone sync ... --log-file=/var/log/rclone.log --log-level INFO
운영 아키텍처 예시
[서버/맥북]
↓
[백업 스크립트]
↓
[rclone + 암호화]
↓
[Google Drive]
↓
[백업 로그 + 검증]
👉 단순 cp 사용은 시작일 뿐입니다
👉 진짜 핵심은 자동화 + 보안 + 검증 구조
최적 구성
rclone (암호화)
+ 자동화 (launchd)
+ 로그 기록
+ 무결성 검증728x90
그리드형(광고전용)
댓글