drive ist ein kleines Programm mit dem man Dateien von und nach Google Drive herunter- oder hochladen kann.
Es wurde von Burcu Dogan entwickelt während Sie für das Google Drive Team gearbeitet hat. Da Sie keine Zeit mehr für das Projekt hat, wird es nun von Emmanuel T Odeke gepflegt.
Was bringt mir das?
man kann Dateien oder Ordner hochladen
drive push datei/oder/ordner.txt
oder herunterladen
drive pull datei/oder/ordner.txt
dies ist ideal für kleine Backupscripte.
ich möchte euch im folgenden dieses kleine Tool vorstellen.
Installation
Für Arch basierte Syteme gibt es ein AUR-Paket. Dies kann man z.B. mit yaourt installieren.
yaourt -S drive
Für Ubuntu basierte Systeme gibt es ein ppa.
sudo add-apt-repository ppa:twodopeshaggy/drive sudo apt-get update sudo apt-get install drive
Für alle anderen Systeme müsst Ihr vom Source installieren.
Die Anleitung dazu gibt es hier
mit
drive version
könnt Ihr nun testen ob die Installation erfolgreich war.
Zum Einrichten gebt Ihr nun
drive init
ein. Hierbei ist ~/gdrive der Ordner den Ihr als Drive Ordner verwenden wollt.
Nun wird ein Link angezeigt. Diesen öffnet ihr im Browser und bestätigt den Zugriff von drive auf euren Google Drive Ordner.
Jetzt bekommt Ihr einen Token, den Ihr in der Komadozeile eingebt.
Damit ist drive nun mit eurem Google Konto verbunden. Um diese Verbindung aufzuheben benutzt man
drive deinit
Nun kann es losgehen
wir wechseln in den Drive-Ordner, erstellen eine Datei und laden diese hoch.
cd ~/gdrive touch test.txt drive push test.txt
Das Hochladen der Datei müssen wir noch mit y bestätigen. Um diese manuelle Bestätigung zu vermeiden verwendet man den -quiet Schalter.
drive push -quiet test.txt
nehmen wir an in der Datei sind private Informationen. Wir können die Daten problemlos vor dem Hochladen verschlüsseln, dazu bietet sich der Schalter -piped an.
echo "private Informationen" > test.txt openssl enc -aes-256-ctr -in test.txt -pass pass:password | drive push -piped -force test.txt
Wir haben die Datei nun verschlüsselt hochgeladen ohne die lokale Datei zu verschlüsseln. Um zu testen ob das funktioniert hat kann man -piped auch mit pull nutzen und den Inhalt einer Datei nach stdout umleiten.
drive pull -piped test.txt
zeigt uns nun den verschlüsselten Inhalt der Datei an:
Salted__����H�t�S�����Pt���o��(_%
Wir können die Datei nun auch „on the fly“ entschlüsseln:
drive pull -piped test.txt | openssl enc -aes-256-ctr -d -pass pass:password
gibt nun folgendes aus: „private Informationen“
dies können wir nun natürlich wieder in die ursprüngliche Datei schreiben
drive pull -piped test.txt | openssl enc -aes-256-ctr -d -pass pass:password -out test.txt cat test.txt
(Beim Weglassen von -pass pass:password wird man zur Eingabe des Passworts aufgefordert)
Backup-Script
mein fertiges Backup-Script für meine Datenbank sieht nun so aus:
#!/bin/sh cd ~/gdrive mysqldump -uUser -pPassword DBNAME > db_backup.sql openssl enc -aes-256-ctr -in db_backup.sql -pass pass:password | drive push -piped -force db_backup.sql