사용자 도구

사이트 도구


linux:grive2

grive2

PPA 설치

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install grive

Debian Build Package

sudo apt-get install git cmake build-essential libgcrypt20-dev \
    libyajl-dev libboost-all-dev libcurl4-openssl-dev libexpat1-dev \
    libcppunit-dev binutils-dev debhelper zlib1g-dev dpkg-dev \
    pkg-config libstdc++-7-dev
# 특히 libstdc++-7-dev 주의! 문서에는 안나오는 의존성임.
 
# 소스 압축푼 디렉토리로 이동(ext 파티션이어야 한다)
dpkg-buildpackage -j4
 
# 상위디렉토리에 deb 패키지 생성됨
sudo dpkg -i <filename.deb>

API 인증

  1. Go to https://console.developers.google.com/apis/library. Login with your Google account and create a new project on Google Cloud Platform. You can also use an existing one.
  2. Search for Google Drive API and enable it.
  3. Create a new OAuth Client credential. You will be provided with a id and a secret. Save both because you gonna need it for grive2.
  4. Then you need to follow this repo README, download grive2, build and install. Then run
grive -a --id [client id] --secret [client secret]
# id 는 긴코드값.apps.googleusercontent.com 형태이다.

사용

  • 신규 동기화
    mkdir SyncDir # 신규 동기화 디렉토리 생성
    cd SyncDir
    grive -a # 신규 동기화 시작
  • 일단 디렉토리 동기화를 한 번 지정하면 해당 디렉토리에 인증 정보가 저장되어 grive 명령만으로 동기화를 수행한다.
  • 동기화
    # 동기화 대상 디렉토리에서
    cd SyncDir
    grive
     
    # 혹은
    grive -p /path/to/SyncDir
  • 지속적 동기화
    # /home/myhome/GoogleDrive 디렉토리를 매시 15분, 45분마다 동기화하고 로그를 /tmp/grivesync.log로 남긴다.
    15,45 * * * * /usr/bin/grive -p '/home/myhome/GoogleDrive' -V -l /tmp/grivesync.log
  • Options
    • -V : verbose
    • -l [/path/to/logfile.log] : 로깅
    • -a : 신규 동기화 인증
    • -p [/path/to/sync] : 동기화할 디렉토리 지정.
  • NTFS 파티션에서 오류가 발생했다. Linux Partition을 참조하여 /etc/fstab/의 해당 파티션 옵션에 fmask=111,uid=1000을 추가했더니 잘 작동했다.
linux/grive2.txt · 마지막으로 수정됨: 2021/05/15 20:59 저자 kwon37xi