Raspberry Pi – Synchroniser le Raspberry Pi avec votre Google Drive

Si comme moi vous avez un Google Drive, vous avez surement un client pour faire votre synchronisation soit sur Mac, Windows ou Linux. Il n’y a pas de raison que le Raspberry ne puisse pas le faire : merci Grive !

4236d1f70a72ab39201e1b0d54f1bf4b.media.200x204

Grive permet de synchroniser votre Google Drive avec un répertoire local. La synchronisation se faisant dans les deux sens.

Il n’y a pas de package pour armhf donc il va falloir faire toutes les étapes pour compiler cet outil.

  1. Installer les paquets nécessaires à la compilation
    apt-get install git cmake build-essential libgcrypt11-dev libjson0-dev libcurl4-openssl-dev libexpat1-dev libboost-filesystem-dev libboost-program-options-dev binutils-dev qt4-dev-tools libboost-all-dev libyajl-dev
  2. Récupérer les sources de Grive
    git clone git://github.com/Grive/grive.git
  3. Préparer la compilation de Grive
    cd grive
    cmake .
  4. Pour que la compilation se fasse il faut changer le fichier libgrive/src/drive/State.cc. Remplacer (lignes 251 et 252 chez moi)
    last_sync.Add( "sec",   Json(m_last_sync.Sec() ) );
    last_sync.Add( "nsec",  Json(m_last_sync.NanoSec() ) );

    par

    last_sync.Add( "sec",   Json((boost::uint64_t)m_last_sync.Sec() ) );
    last_sync.Add( "nsec",  Json((boost::uint64_t)m_last_sync.NanoSec() ) );

    et la ligne suivante (256 chez moi)

    result.Add( "change_stamp", Json(m_cstamp) ) ;

    par

    result.Add( "change_stamp", Json((boost::uint64_t)m_cstamp) ) ;
  5. Compiler Grive
    make
  6. Maintenant vous avez l’exécutable dans un sous répertoire grive. Le programme synchronise le drive dans le répertoire où il se trouve. Il faut donc le déplacer là où vous allez mettre vos fichiers
    cp grive/grive /path/vers/le/repertoire/google
  7. Lors de la première exécution :
    cd /path/vers/le/repertoire/google
    ./grive -a
  8. L’outil va vous afficher une URL. Copier/coller la dans un navigateur pour donner votre autorisation à Grive :
    Grive-1
  9. Vous obtenez un code à copier/coller dans le terminal où s’exécute Grive :
    Grive-2
  10. Voici ce que vous devriez obtenir (avec un Google Drive vide dans mon cas) :
    1._ssh
  11. Pour les prochaines fois que vous voulez synchroniser, n’utilisez pas le paramètre -a et lancez juste le programme grive depuis le répertoire où vous faites la synchro :
    cd /path/vers/le/repertoire/google
    ./grive

Vous avez maintenant vos fichiers sur votre Raspberry Pi.

Vous aimerez aussi...

  • conreo

    Esque l’on pourrait créer un scripte cron pour automatiser la synchronisation?

    • Salut. Oui en créant un script et en l’appelant dans la crontab ou en ajoutant un service dans init.d

  • Fred

    pour info: ne fonctionne pas (ou plus) sur mon raspberry pi 2.
    Erreurs lors de ma 1ere synchro (Grive Throw in function long int gr::AuthAgent::CheckHttpResponse)
    merci quand même de t’être donné la peine de faire ce tuto très complet.