GNU/Linux >> Linux Esercitazione >  >> Debian

Cli Google Drive Client Grive2:come abilitare la sincronizzazione automatica

Grive2, un client Google Drive a riga di comando gratuito e open source per Linux che supporta la sincronizzazione parziale, è molto popolare tra gli utenti Linux, ma molti probabilmente non sanno che lo strumento è una soluzione integrata per la sincronizzazione automatica di Google Drive - File con una cartella locale.

La pagina del progetto Grive2 GitHub è stata recentemente aggiornata su contiene Istruzioni per l'attivazione di una soluzione di sincronizzazione automatica :Sincronizzazione pianificata (verifica le modifiche su Google Drive ogni 5 minuti e sincronizza le modifiche in locale) e sincronizza su eventi di modifica dei file locali (carica automaticamente i file nuovi e modificati dal file system locale non appena si verificano) con Google Drive utilizzando innotify con systemd -Units.

Le unità systemd e uno script di sincronizzazione sono disponibili direttamente nel repository Grive2 e vengono installati automaticamente quando viene installata l'applicazione. Non sono nuovi (sebbene ci sia stata una soluzione recente per la gestione delle directory con spazi nei loro nomi), ma questo non è stato menzionato nella pagina del progetto fino a poco tempo, quindi molti utenti potrebbero averlo trascurato.

Grazie a questa funzionalità, Grive2 può offrire un'esperienza simile a quella del client ufficiale di Google Drive (solo dal punto di vista della sincronizzazione in quanto non c'è l'integrazione del file manager ecc.).

Tuttavia, la sincronizzazione automatica di Grive2 non è perfetta (ma dovrebbe essere sufficiente per la maggior parte degli utenti) . Grazie a inotify (utilizzato tramite uno script bash), le modifiche ai file locali vengono caricate immediatamente su Google Drive, ma i file modificati su Google Drive non vengono scaricati immediatamente sul file system locale perché Grive2 non può rilevare automaticamente quando si verificano modifiche su Google Drive. Per aggirare questo problema, Grive2 utilizza un dispositivo timer di sistema per verificare la presenza di modifiche remote (impostato su 5 minuti per impostazione predefinita).

La homepage di Grive2 Wiki ha menzionato che in futuro potrebbe essere implementata una modalità demone per evitare di eseguire Grive2 più volte per sincronizzare i file.

Funzioni di Grive 2

Grive2 è un fork del client Grive Google Drive originale per Linux. Il progetto originale è stato abbandonato, ma Vitaliy Filippov lo ha creato con il nome Grive2 e ha aggiunto il supporto per l'API Drive REST, il supporto per la sincronizzazione parziale, tra le altre cose.

Le funzioni di Grive 2 includono:

  • Sincronizza i file da/a Google Drive e una cartella sul file system locale dalla riga di comando
  • Supporto parziale/selettivo:puoi escludere determinati file e cartelle dalla sincronizzazione aggiungendoli a .griveignore File. Puoi anche sincronizzare solo una sottodirectory grive -s subdir
  • --no-remote-new (scarica solo i file che sono stati modificati in Google Drive e sono già disponibili localmente) e --upload-only Modalità (non scaricare nulla da Google Drive, caricare solo modifiche locali)
  • Crea nuove revisioni nel server per i file aggiornati
  • Rilevamento automatico del trasferimento/rinominazione
  • Sincronizza i file condivisi (ma devi aggiungerli esplicitamente a Google Drive utilizzando l'interfaccia web)
  • Facoltativamente, limita la velocità di caricamento o scaricamento
  • Facoltativamente, visualizza una barra di avanzamento ASCII durante il caricamento o il download di file
  • Autenticazione Auth2


Per vedere tutto ciò che ha da offrire, esegui man grive dopo l'installazione.

L'applicazione non supporta Google Docs o collegamenti simbolici. Inoltre non supporta la sincronizzazione automatica diretta (attesa continua di modifiche nel file system o in Google Drive e caricamento automatico delle modifiche) ma è disponibile grazie allo script intify e alle unità systemd in bundle con Grive 2 di cui ho parlato all'inizio di l'articolo.

Installa Grive2 e abilita la sincronizzazione automatica dei file di Google Drive con una cartella locale

Le informazioni sull'installazione di Grive2 sono disponibili nella pagina di installazione. Assicurati di scaricare l'ultimo codice git e non l'ultima versione poiché quest'ultima è piuttosto vecchia.

Le istruzioni includono i passaggi per creare tu stesso un pacchetto Debian (che puoi utilizzare su Debian, Ubuntu, Linux Mint, sistema operativo elementare e altre distribuzioni Linux basate su DEB / Apt) sebbene Puoi anche scaricare i binari DEB di Grive2 per Ubuntu o Linux Mint da qui (Puoi anche aggiungere il PPA se desideri aggiornamenti automatici). Anche se il fork si chiama Grive2, il file binario si chiama ancora grive , come il vecchio progetto non mantenuto. Assicurati di scaricare l'ultima build di Grive2 per la tua versione di Ubuntu (puoi guardare la data per vedere quale è più recente).

Ora che Grive2 è installato, possiamo usarlo per sincronizzare i tuoi file di Google Drive in una directory locale e abilitare le sincronizzazioni pianificate e le funzioni per sincronizzare i file quando vengono apportate modifiche.

1. Crea una cartella nella tua home directory in cui sincronizzeremo i file di Google Drive.

La cartella Google Drive locale DEVE essere creata nella home directory dell'utente, altrimenti gli script di sincronizzazione automatica non funzioneranno. Ti suggerisco di creare una cartella chiamata GoogleDrive nella tua home directory, con un file manager o inserendo questo comando:

mkdir ~/GoogleDrive

L'articolo presuppone che tu l'abbia usato d'ora in poi. Quindi assicurati di cambiarlo nelle istruzioni seguenti se scegli un nome di cartella diverso.

2. Autorizza Google Drive con Grive 2 ed esegui la prima sincronizzazione.

La prima volta che esegui Grive2 devi eseguirlo con -a Argomento per autorizzarlo con il tuo Google Drive. Dalla tua home directory, utilizza la riga di comando per accedere alla cartella GoogleDrive appena creata ed esegui grive -a in questa cartella:

cd ~/GoogleDrive
grive -a

Dovresti vedere un collegamento sulla riga di comando. Devi copiare e incollare questo link in un browser web. Quando richiesto, accetta di concedere a Grive2 l'autorizzazione ad accedere ai tuoi file di Google Drive e copia il codice mostrato nella pagina successiva. Di nuovo nel terminale in cui hai eseguito Grive2, incolla il codice di autorizzazione e premi Enter Chiave.

Grive dovrebbe ora iniziare a sincronizzare i tuoi file di Google Drive con la cartella dal tuo file system locale.

3. Abilita la sincronizzazione automatica di Grive 2 (sincronizzazioni pianificate:verifica la presenza di modifiche in Google Drive ogni 5 minuti e sincronizza con la cartella locale e sincronizza gli eventi di modifica dei file locali:carica automaticamente i file nuovi e modificati dal file system locale non appena si verificano) da Google Drive a una cartella locale.

Per attivare e avviare le unità systemd di Grive2, utilizzare questi comandi (non eseguirli come root):

systemctl --user enable [email protected]$(systemd-escape GoogleDrive).timer
systemctl --user start [email protected]$(systemd-escape GoogleDrive).timer
systemctl --user enable [email protected]$(systemd-escape GoogleDrive).service
systemctl --user start [email protected]$(systemd-escape GoogleDrive).service


GoogleDrive di ciascuno di questi 4 comandi rappresenta il nome della cartella Google Drive creata nel passaggio 1 nella tua home directory. Se hai un nome di cartella diverso da. hanno usato GoogleDrive , sostituiscilo in questi comandi con il nome che hai assegnato alla cartella. La cartella DEVE essere nella tua home directory, altrimenti non funzionerà!

Se desideri sincronizzare più account Google Drive, puoi ripetere i passaggi precedenti con un nome di cartella diverso (utilizzare una cartella diversa per ciascun account). Ripeti quel systemctl Comandi sopra per ogni cartella che desideri sincronizzare automaticamente con Google Drive.

Potresti anche provare l'indicatore Grive, un nuovo indicatore Grive Gtk che utilizza Grive2 per sincronizzarsi con Google Drive. Tuttavia, non sembra supportare la funzione di sincronizzazione automatica integrata in Grive2, ma sembra invece utilizzare un semplice timer per sincronizzare i file su Google Drive a un intervallo specifico.

Potrebbe interessarti anche:

  • Monta Google Drive su desktop Xfce o MATE (Ubuntu, Linux Mint)
  • Come montare OneDrive in Linux utilizzando Rclone (supporta account aziendali e personali)


Debian
  1. Come abilitare l'accesso automatico su Ubuntu 20.04 Focal Fossa

  2. Come pianificare i backup di file su Google Drive su Ubuntu

  3. Come accedere a Google Drive in Ubuntu 16.04 LTS

  4. Come utilizzare Google Drive su Linux

  5. Grive2:un client desktop alternativo di Google Drive per Linux

Come abilitare/disabilitare l'accesso automatico in Debian 10

Come abilitare la modalità Picture in Picture in Google Chrome su Debian 10

Come accedere a Google Drive su Debian 10

Come disabilitare/abilitare il blocco automatico dello schermo in Linux Mint 20 tramite CLI

Come installare Google Drive su Ubuntu 20.04

Come installare Google Drive Ocamlfuse su Ubuntu 16.04