Computer >> 컴퓨터 >  >> 시스템 >> Linux

리눅스에서 Google Drive로 파일 자동 백업하는 방법 (google-drive-ocamlfuse + CRON)

리눅스에서 Google Drive로 파일 자동 백업하는 방법 (google-drive-ocamlfuse + CRON)

Google Drive는 파일의 온라인 사본을 안전하게 보관해야 하는 사용자에게 훌륭한 선택지입니다. 리눅스 사용자도 무료로 제공되는 15GB 플랜을 활용해 중요한 설정 파일들을 백업할 수 있습니다. 또한 Google Workspace(구 G-Suite) 유료 플랜을 사용 중이라면 미디어 파일을 포함한 대용량 데이터까지 백업이 가능합니다. 이 가이드에서는 오픈소스 패키지인 google-drive-ocamlfuseCRON을 활용해 리눅스에서 Google Drive로 파일을 자동 백업하는 방법을 단계별로 소개합니다.

google-drive-ocamlfuse란?

google-drive-ocamlfuse는 Google Drive 저장소를 로컬 머신에 마운트할 수 있게 해주는 FUSE 파일시스템입니다. OCaml 언어로 작성되었으며 GitHub를 통해 무료로 배포되고 있습니다. 주요 기능으로는 전체 읽기/쓰기 권한, 다중 계정 지원, Unix 권한 관리, Team Drive 지원 등이 있습니다.

자동 백업은 어떻게 설정할까?

먼저 원격 Google Drive를 로컬 파일시스템에 마운트해야 하며, 이때 google-drive-ocamlfuse가 사용됩니다. 그다음 자동 스케줄러를 통해 주기적으로 파일을 드라이브로 전송하면 됩니다. 여기서는 설정이 간단한 리눅스의 CRON 유틸리티로 스케줄링을 처리합니다. (Zeit 같은 GUI 도구로 cron 작업을 예약할 수도 있습니다.)

google-drive-ocamlfuse 설치 및 설정

먼저 리눅스 머신에 google-drive-ocamlfuse를 설치해야 합니다. 다행히 설치 과정은 매우 간단합니다. 터미널을 열고 다음 명령어를 입력하세요.

sudo add-apt-repository ppa:alessandro-strada/ppa
리눅스에서 Google Drive로 파일 자동 백업하는 방법 (google-drive-ocamlfuse + CRON)

이 명령은 필요한 패키지를 패키지 관리자의 저장소 목록에 추가합니다. 이후 아래 명령으로 패키지를 설치할 수 있습니다.

# Debian/Ubuntu
sudo apt update && sudo apt install google-drive-ocamlfuse
 
# Fedora
sudo dnf copr enable sergiomb/google-drive-ocamlfuse
sudo dnf install google-drive-ocamlfuse
 
# Arch
yay -S google-drive-ocamlfuse
리눅스에서 Google Drive로 파일 자동 백업하는 방법 (google-drive-ocamlfuse + CRON)

설치가 완료될 때까지 기다린 후, 마운트를 위한 설정을 진행합니다. 첫 번째 단계는 로컬 파일시스템에 Google Drive용 마운트 지점을 만드는 것입니다. 터미널에 아래 명령어를 입력하세요.

mkdir -p ~/mount/google-drive
리눅스에서 Google Drive로 파일 자동 백업하는 방법 (google-drive-ocamlfuse + CRON)

다음 명령으로 드라이브 저장소를 마운트합니다.

google-drive-ocamlfuse ~/mount/google-drive
리눅스에서 Google Drive로 파일 자동 백업하는 방법 (google-drive-ocamlfuse + CRON)

명령을 실행하면 google-drive-ocamlfuse가 기본 브라우저를 열고 Google Drive 계정 인증 페이지로 이동합니다. 로컬에 마운트할 계정을 선택하세요.

리눅스에서 Google Drive로 파일 자동 백업하는 방법 (google-drive-ocamlfuse + CRON)

선택한 계정의 비밀번호를 입력해 본인 인증을 완료합니다.

리눅스에서 Google Drive로 파일 자동 백업하는 방법 (google-drive-ocamlfuse + CRON)

그다음 Google에서 google-drive-ocamlfuse에 대한 접근 권한을 요청합니다. "허용"을 클릭하고 다음 단계로 진행하세요.

리눅스에서 Google Drive로 파일 자동 백업하는 방법 (google-drive-ocamlfuse + CRON)

사용자 계정에 대한 접근 권한을 한 번 더 허용해야 합니다.

리눅스에서 Google Drive로 파일 자동 백업하는 방법 (google-drive-ocamlfuse + CRON)

권한 허용이 완료되면 google-drive-ocamlfuse 웹페이지로 리디렉션됩니다. 축하합니다! 이제 Google Drive 계정이 성공적으로 로컬 파일시스템에 마운트되었습니다.

리눅스에서 Google Drive로 파일 자동 백업하는 방법 (google-drive-ocamlfuse + CRON)

이제 마운트가 정상적으로 완료되었는지 확인해 볼 차례입니다. 이 단계에서 오류가 발생하면 Google Drive로 파일을 백업할 수 없습니다. 아래 명령어로 확인하세요.

ls -l ~/mount/google-drive/
리눅스에서 Google Drive로 파일 자동 백업하는 방법 (google-drive-ocamlfuse + CRON)

출력 결과에 Google Drive 저장소에 있는 파일과 디렉터리 목록이 표시되어야 합니다. 모든 것이 정상이라면 백업 스케줄러 설정으로 넘어갑니다.

CRON으로 Google Drive에 파일 백업하기

백업은 결국 복사 작업입니다. Google Drive가 이미 마운트되어 있으므로 로컬 파일시스템의 일부처럼 파일을 복사할 수 있습니다. 다음 명령으로 직접 확인해 보세요.

touch test-file
cp test-file ~/mount/google-drive/

테스트 파일이 드라이브 저장소로 복사됩니다. ls 명령으로 Google Drive에 성공적으로 복사되었는지 확인하세요.

ls ~/mount/google-drive/
리눅스에서 Google Drive로 파일 자동 백업하는 방법 (google-drive-ocamlfuse + CRON)

모든 준비가 끝났으니 cron을 설정해 백업 프로세스를 자동화합니다. cron은 사용자가 특정 명령을 주기적으로 실행할 수 있게 해주는 스케줄러이며, crontab을 통해 어떤 명령을 언제 실행할지 지정할 수 있습니다.

여기서는 매일 00:00에 "/tmp" 폴더의 내용을 Google Drive로 복사하는 crontab 항목을 사용합니다.

0 0 * * * cp /tmp/ ~/mount/google-drive/

매주 한 번만 백업하고 싶다면 다음 crontab 항목을 사용하세요.

0 0 * * 0 cp /tmp/ ~/mount/google-drive/

이 항목은 매주 일요일 00:00에 "/tmp"의 내용을 드라이브 저장소로 복사합니다. "/tmp"는 실제 백업하려는 개인 파일이 있는 디렉터리 경로로 바꿔 사용하세요.

하지만 마지막 단계가 하나 남아 있습니다. 위의 crontab 항목들은 Google Drive를 자동으로 마운트하지 않습니다. 빠른 해결책은 드라이브를 마운트하는 crontab 항목을 먼저 추가하고, 그 뒤에 백업 항목을 추가하는 것입니다.

55 23 * * 0 google-drive-ocamlfuse ~/mount/google-drive
0 0 * * 0 cp /tmp/ ~/mount/google-drive/

보시다시피 드라이브를 5분 먼저 마운트합니다. 초기화 문제로 인해 백업 프로세스가 누락되지 않도록 cron에게 충분한 시간을 주는 것입니다. 아래 명령으로 crontab을 편집하고 위 내용을 추가하세요.

리눅스에서 Google Drive로 파일 자동 백업하는 방법 (google-drive-ocamlfuse + CRON)

마무리

google-drive-ocamlfuse와 cron을 활용해 Google Drive에 파일을 백업하는 간단한 방법을 알아보았습니다. GNOME 데스크톱 환경을 사용 중이라면 Google 계정을 데스크톱에 연결해 Google Drive를 시스템에 더욱 쉽게 마운트할 수도 있습니다. cron 대안 도구를 살펴보거나 systemd 타이머를 cron 대체재로 활용하는 것도 좋은 방법입니다.