Backup unter Linux

“Wer Backups erstellt, ist feige!”

Tatsächlich kenne ich nur wenige PC-Benutzer, die einigermaßen regelmäßig oder sogar automatisiert Backups ihres gesamten Systems oder wenigstens der Nutzdaten erzeugen und sicher weglegen. Vielleicht wird mal ein kleines Projekt auf einen USB-Stick geschrieben, aber das ist oft schon alles.

Irgendwann aber ist der Stick kaputt, die DVD zerkratzt, die externe HD geht nicht mehr oder der oft auch noch ausländische Cloud-Provider schließt seinen Dienst (oder die Zugangsdaten sind weg).

Diese in Kauf genommene Unsicherheit mag auch daran liegen, dass geeignete Software dafür nicht unbedingt für ungeübte Benutzer geeignet oder teuer ist. So wird das nötige Backup schnell als Stiefkind betrachtet oder eben einfach unterlassen.

Linux

Für Linux gibt es neben der ganz-zu-Fuß-Variante rsync (Systemkommando mit unzähligen Optionen) beispielsweise “Timeshift” oder“Back in Time”, die beide auf rsync basieren und sozusagen eine Bedienoberfläche dafür darstellen, dabei kostenlos sind, aber doch besser fachkundige Hilfe beim Einrichten benötigen.

Ich habe sowohl “Timeshift oder “Back in Time” probiert. Die Einrichtung von “Timeshift” scheint mir etwas aufwändiger und für Laien weniger verständlich, zumal es kaum ordentliche Doku gibt 1, 2. “Back In Time” funktioniert intern sehr ähnlich, ist aber etwas leichter einzurichten und kann zudem den PC runterfahren, wenn das Backup fertig ist 3, 4

Andere Systeme

Windows-Software zum Beispiel von Acronis (True Image) ist sicher ausgezeichnet, kostet aber auch schon für Privatanwender einen knappen Fünfziger – allerdings gibt es das eben nur für Windows (also für die meisten PCs…). Fürür Windows gibt es sogar “on board” Lösungen für Nackups wie diese hier t-online.de/digital/software/id_84677644/daten-sichern-so-erstellt-windows-10-automatisch-backups.html.

Natürlich gibt es auch für Macintosh-System als UNIX-Abkömmling ordentliche Lösungen, die mir aber ebenfalls nicht näher bekannt sind. Als Beispiel ist mir “Time Machine” ein Begriff, das in Verbindung mit der iCloud arbeiten kann.

Cloud

Zusätzlich zu dieser Form des Backups mindestens zweimal im Monat je nach Arbeitseifer nutze ich auch diverse Cloud-Dienste zu Sicherung. Ursprünglich hatte ich auf die beliebte Dropbox gesetzt – da diese aber in den USA gehostet wird und sich somit jeder europäischen Kontrolle entzieht, verwende ich sie nur noch in Ausnahmefällen zum Austausch.

Alternativ habe ich mit die Magenta-Cloud der Deutschen Telekom eingerichtet (hier beschrieben) und die in der Schweiz ansässige pCloud. Letztere unterliegt zwar nicht dem Datenschutzrecht der EU, aber naja, in der Schweiz sind angeblich auch Bankkonten sicher… Das Laufwerk von Google (Google Drive, hier beschrieben) habe ich ja sowieso wegen der Android-Geräte und nun auch auf dem Desktop, allerdings nutze ich das kaum – eigentlich nur als Ziel automatischer Backups diverser Websites.

Fazit

Es gibt also eine ganze Menge Möglichkeiten der Datensicherung für zwischendurch oder auch dauerhaft, die allesamt bedeutend besser sind als gar nichts! CDs oder DVDs zählen für mich kaum noch dazu, außer vielleicht als Musikträger für’s Auto – meine ersten CDs sind über 25 Jahre alt und zu einem Teil trotz guter Lagerung nicht mehr lesbar. Und USB-Sticks haben mit “sicher” wenig zu tun, da die meisten billige Massenware sind – wenn ich etwas mitnehmen will, habe ich zwei solcher Sticks dabei, einer wird schon gehen.

Ich bleibe bei “Back In Time”. Zum Einen, weil ich es ohne zusätzliches Fremdpaket (PPA) in meinem Xubuntu 18.04 installieren konnte. Zum Anderen, weil es nach Fertigstellung des Backups meinen Rechner runterfahren kann – dann muss ich nur noch irgendwann die USV ausschalten. Die übrigens auch ein Teil des Sicherungskonzepts ist: Ein Stromausfall könnte alle Daten auf der Festplatte unbrauchbar machen.


Beispiele Doku für “Timeshift”:
1 linux.org/threads/timeshift-system-backups8863
2 wpavel.de/linuxhelfer/timeshift.php#1 (deutsch)

Beispiele Doku für “Back In Time”:
3 backintime.readthedocs.io/en/latest
4 lifehacker.com/back-in-time-does-full-linux-backups-in-one-click-5212899

Zugriff auf Google Drive unter Xubuntu 18.04

Hier bei mir habe ich ja vor einiger Zeit schonmal über die Einrichtung von Google Drive unter Xubuntu 16.04 und den damaligen Misserfolg geschrieben. Jetzt habe ich mich des Themas nochmal angenommen, weil ich für ein Projekt die große Cloud brauche.

Dazu habe ich diese Anleitung benutzt: www.itsmarttricks.com/how-to-mount-google-drive-account-in-ubuntu-18-04-using-google-drive-ocamlfuse/.

Hier in der Zusammenfassung die wesentlichen Schritte:

# Eine ggf. vorhandene frühere Installation entfernen!
# Löschen von ~/.gdfuse
# sonst geht die neue Anmeldung bei Google nicht!
rm -rf ~/.gdfuse

# Repository von Alessandro Strada hinzufügen:
sudo add-apt-repository ppa:alessandro-strada/ppa
sudo apt-get update
sudo apt-get install google-drive-ocamlfuse

google-drive-ocamlfuse
# Hier wird der Standardbrowser mit der Google-Auth. aufgerufen.
# Passiert das nicht, gibt es schon ~/.gdfuse, siehe oben!

# Erstellen des lokalen Google-Drive-Verzeichnisses
mkdir ~/Gdrive

# Verbindung Google / lokales Verzeichnis (mounten)
google-drive-ocamlfuse ~/Gdrive (***)

Und fertig! Jetzt habe ich in ~/Gdrive den Inhalt meines Cloud-Speichers. Vorsicht, bei mir sind das derzeit immerhin 17 GB möglicher Platz, der dann auch lokal gebraucht wird! Ich habe das Verzeichnis auf dem Desktop verlinkt und somit immer in Sichtweite.

*** Ergänzung: Die letzte Zeile oben (***) zum Verbinden von Gdrive mit dem lokalen Verzeichnis ~/Gdrive sollte man am besten in eine geeignete Stelle für den Autostart eintragen, damit die Verbindung gleich beim Booten erstellt wird. Sonst bleibt das Verzeichnis ~/Gdrive “leer”! Bei mir steht also in der Autostart-Liste:

sh -c "sleep 60; google-drive-ocamlfuse ~/Gdrive"

Das Verbinden gelingt nicht unmittelbar beim Booten, sondern braucht eine kleine Pause. Ich habe dazu im Autostart eine Verzögerung von 60 Sekunden eingetragen.

Apache, MySQL und PHP

Unter Ubuntu (hier: 18.04) einen Webserver mit Apache, MySQL und PHP zu installieren ist nicht weiter schwierig. Es sollte reichen, folgendes zu tun:

Dabei natürlich eventuell die passende PHP-Version einsetzen und ggf. weitere Module installieren (Tip: php7.2-mbstring nicht vergessen, das wird gern übersehen und führt dann zu wunderlichen Fehlern!).

sudo apt install apache2 mysql php7.2 php7.2-cli

Kontrollieren kann ich das durch die Anzeige der Versionen mittels “php -v” und “mysql -v”. Den Webserver starte ich mit

sudo systemctl enable apache2
sudo systemctl restart apache2
sudo update-rc.d apache2 defaults    # immer beim Booten starten

Üblicherweise mache ich dann eine kleine Testdatei i.php mit dem Inhalt

<?php phpinfo()

die ich im Browser aufrufe

localhost/i,php

und die mir alle relevanten Parameter des Webservers und von PHP selbst anzeigt. Anzeigen soll – denn meist geht es trotzdem nicht!? Was ist der Grund dafür?

Es hat sich herausgestellt, dass das Fehlen des gestarteten “FastCGI Process Manager (FPM)” von PHP die Ursache ist. Also eines Werkzeuges, das eigentlich nur zum Beschleunigen der Abarbeitung von PHP dienen sollte, aber offenbar grundsätzlich für dessen Funktion in einem Webserver verantwortlich ist (wer näheres dazu weiß, kann das bitte gern unten kommentieren!). Also bitte noch zusätzlich PHP-FPM installieren und starten:

sudo apt install php7.2-fpm
sudo systemctl enable php7.2-fpm
sudo systemctl start php7.2-fpm
sudo update-rc.d php7.2-fpm defaults    # immer beim Booten starten

Jetzt sollte auch der Test im Browser klappen und das auch nach dem nächsten Reboot. Hinweis: Natürlich kann man Dienste auch meist über

sudo service <dienstname> start|stop|restart
sudo /etc/init.d/<dienstname> start|stop|restart

steuern.

Weitere Informationen:
www.webhostinghero.com/ubuntu-apache-php-fpm/

Einrichten der Magenta Cloud

Statt der Dropbox, die ja auf dem Territorium der USA gehostet wird und damit trotz aller Versprechen dem “Patriot Act” unterliegt, habe ich mir für wichtige Daten für unterwegs die kostenlose Magenta-Cloud der Telekom eingerichtet. Die ist auf deutschem Boden gehostet und unterliegt wenigstens dem deutschen und europäischen Datenschutzrecht, das wesentlich restriktiver ist als das der USA. Naja, wer’s glaubt…

Bei der Magenta-Cloud ist die Voraussetzung ein T-Online-Konto (hier mit der Mailadresse xxx@t-online.de symbolisiert). Das kostet nichts und zieht auch keine weiteren Verpflichtungen nach sich. Aber immerhin bekommt man so 10 GB kostenlosen Cloud-Speicher, der gegen Geld auf bis zu 1 TB erweiterbar wäre!

Für Android und iOS gibt es eine App für den Zugriff, für Windows und MacOS auch – aber für Linux natürlich wieder nichts offizielles. Dennoch ist der Zugriff leicht einzurichten, denn die Cloud ist über WebDAV zugänglich und kann somit als Laufwerk gemounted werden.

Hier im WebDAV-Wiki ist das sehr schön beschrieben und ich fasse es nur kurz zusammen. Ich beziehe mich auf mein Xubuntu 18.04.3.

Achtung: Dieser Absatz wurde zugefügt! Voraussetzung ist, dass das Paket davfs2 installiert ist und die Benutzung bei dessen Konfiguration für alle Nutzer freigegeben wurde.

sudo apt install davfs2

ggf. wenn die Freigabe für alle nicht korrekt ist
sudo dpkg-reconfigure davfs2

Zunächst erzeuge ich danach in meinem Home ein Verzeichnis MagentaCloud und schreibe in die /etc/fstab das folgende:

# Mounten der Magenta-Cloud
# Beachte auch die Installation der Anmeldedaten siehe hier:
# https://alphathiel.de/magentacloud-und-webdav/
# ==========================================================
# (alles in 1 Zeile!!!)
https://webdav.magentacloud.de /home/<user>/MagentaCloud/ davfs uid=1000,users,rw,_netdev 0 0
# _netdev bewirkt, daß das Laufwerk erst eingehängt wird, wenn das Netzwerk läuft
# sonst wäre https://webdav.magentacloud.de nicht erreichbar

Achtung: Diese mount-Zeile wurde überarbeitet! Die bisher genannte Option noauto ist unnötig, wenn die Option _netdav vorhanden ist. Ohne uid=1000 (oder uid=[username] oder eine andere ID) würden die gemounteten Verzeichnisse und Files root gehören und wären damit für den User readonly.

Dann muss ich mich noch um die Zugriffsberechtigung für mich als normalen Nutzer kümmern:

sudo usermod -aG davfs2 <linux-username>

Lokal in ~/.davfs2/secrets oder besser global in /etc/davfs2/secrets (hier als root, danach chmod 0600!!!) eintragen:

https://webdav.magentacloud.de <username@t-online.de> <passwort>

(Bei der MagentaCloud-Website ist <sername> nur der Teil vor @ der Mailadresse! Also zum Beispiel max.mustermann ohne @t-online.de!)

Nach dem nächsten Booten habe ich das Symbol eines ungemounteten Laufwerks auf dem Desktop, der erste Doppelklick darauf mounted es und ich sehe den Inhalt meiner Cloud. Eine Verlinkung auf ~/MagentaCloud/ brauche ich daher nicht.

Ubuntu: Nachinstallation des Network Manager

Bislang habe ich bei meinem Ubuntu 18.04.3 das Netzwerk mittels ifup / ifdown über die Einträge in /etc/network/interfaces betrieben. Das funktioniert natürlich tadellos. Der bei der Installation vorgegebene NetworkManager hat eine zeitlang nicht zuverlässig funktioniert und die komfortable Möglichkeit der Nutzung verschiedener VPN habe ich nicht gebraucht. Daher hatte ich das Paket network-manager deinstalliert, also nicht nur deaktiviert. Ein Fehler, wie sich zeigte!

Gerade die VPN-Fähigkeiten werde ich aber möglicherweise demnächst brauchen. Also wollte ich “mal eben” den NetworkManager wieder installieren. Weit gefehlt – natürlich ließ er sich installieren, auch die Schnittstelle eth0 konnte ich einrichten, aber die Sache lief nicht. Ich schaltete nach der Installation (sonst geht die Installation natürlich nicht) das Netzwerk ab (sudo ifdown eth0) und ersetzte /etc/network/interfaces durch die Minimalversion:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

Dann wollte ich den NetwokManager starten mit

sudo systemctl start NetworkManager

Nichts, keine Fehlermeldung, aber auch keine Funktion. Wo lag das Problem? Eine Recherche im Usenet brachte auch keine Erhellung. Dabei hatte ich die Lösung schon längst gefunden, nur hatte ich sie nicht vollständig umgesetzt! Hier wird beschrieben, wie es geht, ich musste es nur vollständig (!) machen. Ich habe den gesamten Abschnitt “Enable NetworkManager and Disable systemd networkd” abgearbeitet und es hat funktioniert. Hier nochmal die Kurzfassung:

sudo apt-get install network-manager network-manager-gnome

sudo systemctl disable systemd-networkd.service
sudo systemctl mask systemd-networkd.service
sudo systemctl stop systemd-networkd.service

File /etc/netplan/config.yaml erstellen oder editieren (root):
network:
  version: 2
  renderer: NetworkManager

sudo netplan generate

ersetzen der /etc/network/interfces durch die minimlaen Einträge:
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

sudo systemctl unmask NetworkManager
sudo systemctl enable NetworkManager
sudo systemctl start NetworkManager

Startet man jetzt mittels nm-applet das Applet in der Taskleiste, kann man seine Netzwerkverbindung einrichten. Sie steht bereits automatisch drin, aber mit DHCP.

Fazit: Bei den erfolglosen Versuchen hatte ich den Abschnitt mit netplan “übersehen”, ich meinte, sowas habe ich nicht… Genau das hat sich als der notwendige Schlüssel herausgestellt.

Freie öffentliche DNS-Server

Es hat Sinn, die vom jeweiligen Internet-Zugangs-Provider vorgegebenen DNS-Server nicht zu nutzen und durch andere zu ersetzen. Jeder Zugangsprovider hat ein “betriebsbedingtes Interesse” daran, die Zugriffe der Nutzer zu protokollieren und auszuwerten. Zum Einen möchte man das vielleicht nicht unterstützen, zum Anderen dauert das eine gewisse Zeit, die sich in der höheren Antwortzeit niederschlägt – der Zugriff auf Websites mit vielen Komponenten wird merklich langsamer.

Wobei “merklich” natürlich im Bereich unter einer Sekunde liegt, aber Unterschiede von vielleicht 20 ms pro Zugriff summieren sich schnell.

Hier ist ein Link zu einer von vielen Seiten, die ständig aktualisiert wird und solche freien öffentlichen Adressen auflistet:

Free and Public DNS Servers

Bleibt noch die Frage, welcher der schnellste DNS-Server ist. Diese Frage kann nicht einfach so beantwortet werden, da die Messergebnisse von der Auslastung, der Tageszeit, dem Ort uvm. abhängen. Da muss man probieren oder auch mal das Programm namebench (Linux, hier erwähnt) laufen lassen. Eine Übersicht geben diese Seiten hier:

DNS-Server schnell und sicher: Cloudflare 1.1.1.1 und andere
DNS-Server aus Deutschland

Alternative DNS-Server für mehr Tempo beim Surfen

Zu erwähnen wäre noch, dass es meist kein Hindernis ist, dass in den Routern der Netzwerkanbieter deren eigener DNS-Server unveränderbar einprogrammiert ist. Entscheidend ist, dass das Betriebssystem meines Computers oder Smartphones in den eigenen Einstellungen die Daten des von mir gewünschten Servers stehen!