Google Drive Backups mit der Komadozeile

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

Hinterlasse einen Kommentar