Google Drive für das Backup auf der Konsole nutzen

In diesem Beitrag zeige ich dir, wie du einfach und schnell eine Sicherung auf der Konsole erstellst und direkt in dein Google Drive hochladen kannst.

Mein Beweggrund war, dass ich trotz der täglichen Sicherung meines Providers Uberspace eine separate Sicherung haben wollte. Da niemand ein Backup haben will sondern nur das Restore, bietet sich das bei Google Dive an. Google sammelt zwar Daten aber verliert auch eher selten welche. Wenn du möchtest kannst du das Backup natürlich auch mit GnuPG oder ähnliches verschlüsseln.

Backup in Google Drive – was brauchst du dafür?

  • Einen Provider mit SSH Zugang zum Webspace
  • Einen kleinen OpenSource Client für den Zugriff
  • Einen Token für den Zugriff
  • Einen Ordner für die Backups im Google Drive
  • Eine halbe Stunde Zeit

Als erstes ziehst du dir die passenden Software bei GitHub herunter:

github.com/prasmussen/gdrive

In Fall meines Providers habe ich einfach die Linux 64bit Version genutzt.

Melde dich dazu in deinem Account an und wechsel in das Verzeichnis „~/bin“. Dachach kopierst du den folgenden Code in die Konsole:

wget -c docs.google.com/uc

Du bekommst dann eine Datei mit einem kryptischen Namen, diese solltest du in gdrive umbenennen.

Die Datei muss natürlich danach noch ausführbar gemacht werden. Dies geht mit:

chmod u+x ~/bin/gdrive

Zugriff auf Google Drive von der Konsole

Erstellung des Tokens

Für den Zugriff von der Konsole auf dein Google Drive benötigst Du einen Token. Dieser wird beim ersten Verbindungsversuch generiert. Dazu lässt du dir einmal den Inhalt deiner Ordners im gDirve anzeigen:

~/bin/gdrive list

Du erhältst einen Link, den du in deinem Browser kopierst und dich mit deinem Google Konto anmeldest. Den angezeigten Code kopierst du dann in den Konsole. Wenn du schon einmal in Drive angemeldet bist, solltest du auch gleich einen Ordner für die Backups erstellen oder auswählen. Den letzten Teil der URL solltest Du dir merken, aufschreiben oder kopieren.

Ein weiterer Aufruf von „~/bin/gdrive list“ sollte dir nun den Inhalt deines Root Ordners anzeigen.

Upload von Daten in Google Drive

Um Daten von der Konsole aus auf dein Google Drive hochzuladen musst Du einfach den folgenden Befehl eingeben:

~/bin/gdrive upload —parent [HIER DEN LETZTEN PART DER URL REIN] meineDateiZumSichern.tar.gz

Da dein Token im Verzeichnis .gdrive gespeichert ist, wirst du auch nicht mehr mit der Frage nach dem Passwort belästigt.

Unter dem Link findest du die Übersicht aller Parameter des Tools: github.com/prasmussen/gdrive

Automatisiertes TYPO3 Backup in einen Google Drive Ordner

Da ich recht gerne mit TYPO3 arbeite, habe ich im Internet ein Backupsscript gefunden und an meine Bedürfnisse sowie der Umgebung bei Uberspace angepasst.

#!/bin/bash # TYPO3 Backup in ein gDrive # Variablen setzenBACKUP_DIR=~/html BACKUP_DEST=~/.tmp_backup GDRIVE=[Hier kommt der Link zu deinem gDrive Ordner hinein]# Konfigurationsdatei finden: localconf.php oder LocalConfiguration.php CONFIG_FILE= # TYPO3-Version < 6.0 if [ -f $BACKUP_DIR/typo3conf/localconf.php ]; then echo ‚TYPO3-Version < 6.0 : localconf.php wird ausgelesen..‘ CONFIG_FILE=$BACKUP_DIR/typo3conf/localconf.php DB_NAME=`cat $CONFIG_FILE | grep ‚\$typo_db\ ‚ | cut -d „‚“ -f 2` DB_USER=`cat $CONFIG_FILE | grep ‚\$typo_db_username\ ‚ | cut -d „‚“ -f 2` DB_PASSWORD=`cat $CONFIG_FILE | grep ‚\$typo_db_password\ ‚ | cut -d „‚“ -f 2` DB_HOST=`cat $CONFIG_FILE | grep ‚\$typo_db_host\ ‚ | cut -d „‚“ -f 2` fi

# TYPO3-Version >= 6.0
if [ -f $BACKUP_DIR/typo3conf/LocalConfiguration.php ]; then
echo ‚TYPO3-Version >= 6.0 : LocalConfiguration.php wird ausgelesen..‘
CONFIG_FILE=$BACKUP_DIR/typo3conf/LocalConfiguration.php
DB_NAME=`cat $CONFIG_FILE | grep \’database\’\ =\> | cut -d „‚“ -f 4`
DB_USER=`cat $CONFIG_FILE | grep \’username\’\ =\> | cut -d „‚“ -f 4`
DB_PASSWORD=`cat $CONFIG_FILE | grep \’password\’\ =\> | cut -d „‚“ -f 4`
DB_HOST=`cat $CONFIG_FILE | grep \’host\’\ =\> | cut -d „‚“ -f 4`
fi

if [ -z $CONFIG_FILE ]; then
echo „TYPO3-Konfiguration nicht gefunden“
fi

mkdir -p $BACKUP_DEST/$DB_NAME
mysqldump -u $DB_USER -p$DB_PASSWORD -h $DB_HOST $DB_NAME > $BACKUP_DEST/$DB_NAME/database_`date +“%Y.%m.%d-%H:%M“`.sql

tar czf $BACKUP_DEST/$DB_NAME/files_`date +“%Y.%m.%d-%H:%M“`.tar.gz -C $BACKUP_DIR .
~/bin/gdrive upload –parent $GDRIVE $BACKUP_DEST/$DB_NAME/files_`date +“%Y.%m.%d-%H:%M“`.tar.gz
~/bin/gdrive upload –parent $GDRIVE $BACKUP_DEST/$DB_NAME/database_`date +“%Y.%m.%d-%H:%M“`.sql
rm -rf $BACKUP_DEST

fi

Dieses Script lässt sich recht einfach zur Verwendung mit einer WordPress-Installation umschreiben.

Wenn dir diese Anleitung gefallen hat, darfst Du diese gerne verlinken. Kritik oder Verbesserungsvorschläge gerne per Email und ich werde diese dann umsetzen.