Inkrementelle Backups mit rsync unter Android
Mit Diensten wie AppBrain, kann man regelmäßig die Liste der installierten Apps unter Android synchronisieren, wird das Smartphone jedoch geklaut, sind die Daten auf der SD-Karte (Fotos, Musik, Videos) trotzdem weg. Um diesen Datenverlust zu vermeiden, ist es sinnvoll, regelmäßig Backups anzulegen, welche auf Grund der höheren Geschwindigkeit am Besten inkrementell sein sollten. Hierfür steht die App rsync backup for Android zur Verfügung.
Nach der Installation, muss man in der App noch die benötigten Dateien herunterladen, bevor man anschließend das Schlüsselpaar generiert, mit dem später ein Login ohne Passwort am SSH-Server möglich ist.
Die Schlüssel werden auf der SD-Karte unter /sdcard/dss_key
und /sdcard/dss_key.pub
abgelegt. Zudem hat man die Möglichkeit, sich den Public key zuzuschicken.
Alternativ besteht die auch die Möglichkeit, ein Schlüsselpaar am Computer zu generieren und anschließend zu übertragen:
sudo apt-get install dropbear
dropbearkey -t rsa -s 4096 -f client-rsync-rsa
Den Public key kann man sich wie folgt anzeigen lassen:
dropbearkey -y -f client-rsync-rsa
Den OpenSSH-Server auf dem Server installieren, auf dem die Backups liegen sollen. Dies ist sowohl unter Ubuntu, als auch unter Windows möglich.
sudo apt-get install openssh-server
Man legt nun im Home-Verzeichnis des Benutzers, mit dem man sich später anmeldet, ein Verzeichnis mit dem Namen .ssh und darin die Datei authorized_keys, in die man den Public key anschließend einfügt.
mkdir ~/.ssh
vi ~/.ssh/authorized_keys
Falls sich in der Datei schon Schlüssel befinden sollten, kann man den Schlüssel einfach in eine neue Zeile kopieren. (Weitere Informationen zur Konfiguration des OpenSSH-Server)
Anschließend legt man in rsync ein neues Profil an, in dem man alle wichtigen Informationen angibt.
Weitere Optionen
Eine der vielen möglichen Optionen ist, bestimmte Dateien oder Verzeichnisse aus der Sicherung auszuschließen.
Hierfür legt man auf der SD-Karte die Textdatei excludefile.txt
an, in der man die auszuschließenden Ordner und Dateien angibt.
/sdcard/excludefile.txt
##rsyncsdcardexclude##
.android_secure
.bookmark_thumb
albumthumbs
Android/data
clockworkmod
DCIM/.thumbnails
download
dropbox
Evernote
LOST.DIR
MapDroyd
Movies
Music
nandroid
Pictures
Podcasts
rosie_scroll
tmp
WikiDroyd
Mit der folgenden Option fügt man dies anschließend zum Profil hinzu
--exclude-from=/sdcard/excludefile.txt
Automatisierung der Datensicherung
Um die Datensicherung zu automatisieren, kann man in Tasker ein Profil anlegen, das die Ausführung übernimmt.
Meine Konfiguration ist so eingestellt, dass sie jeden Tag um 2 Uhr, wenn das Smartphone aufgeladen wird und mit dem WLAN verbunden ist, rsync mit dem gewählten Profil ausführt.