Diese Anleitung beschreibt, wie Sie unter Linux mit Hilfe des OpenSSH Public-/Private Schlüsselverfahren und dem Programm rsync Ihr Backup auf unseren Online-Backup Server schreiben können.
Bitte beginnen Sie mit Schritt 1
Um eine sichere, automatische Anmeldung am Backup Server zu ermöglichen, wird zuerst ein Public/Private Schlüsselpaar ohne Passwort generiert:
Bitte beachten Sie, dass es sich bei untenstehendem Output um ein Bespiel handelt. Einzelheiten der Ausgabe werden auf Ihrem System anders sein.
user@box ~ $ ssh-keygen -N '' -t ed25519 -f "${HOME}/.ssh/backup_id_ed25519"
Generating public/private ed25519 key pair.
Your identification has been saved in /home/user/.ssh/backup_id_ed25519.
Your public key has been saved in /home/user/.ssh/backup_id_ed25519.pub.
The key fingerprint is: SHA256:ljP1HGjYtQVeORT7V6CK2mBUPf723ntF2XY6om48vAU user@box
The key's randomart image is:
+--[ED25519 256]--+
| .. oo*o |
| . oo+ =oo |
| . ..=.= ..+|
| . =.+ . o*|
| o S E.o ++|
| . = o .+ o o|
| . .o o.o ..|
| *. ...|
| ooo ...+|
+----[SHA256]-----+
Es wurden nun die folgenden zwei Dateien generiert:
${HOME}/.ssh/backup_id_ed25519
${HOME}/.ssh/backup_id_ed25519.pub
Der öffentliche Schlüssel wird nun unter dem Namen "authorized_keys" auf den Backup Server (backup-02.stoney-backup.com) kopiert.
Vergessen Sie nicht die Zahl 4000042 durch Ihren Benutzernamen (Ihre Backup UID) zu ersetzen.
Für die Passworteingabe verwenden Sie das Passwort, dass Sie von stepping-stone AG erhalten haben.
user@box ~ $ ssh-copy-id -i /home/user/.ssh/backup_id_ed25519.pub 4000042@backup-02.stoney-backup.com
The authenticity of host 'backup-02.stoney-backup.com (31.216.40.233)' can't be established.
RSA key fingerprint is af:79:39:f7:89:c2:88:7a:17:80:73:a6:08:23:a2:2e.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'backup-02.stoney-backup.com' (RSA) to the list of known hosts.
Password: ******
Nachdem Sie den public Schlüssel erfolgreich zum Backup Server kopiert haben, sollten Sie nun manuell überprüfen, ob Sie sich via SSH auf dem Server einloggen können.
Dieser Befehl sollte nun "Es funktioniert" zurückgeben: (Vergessen Sie wiederum nicht die Nr. 4200042 mit Ihrem Benutzernamen, normalerweise Ihre Backup UID, zu ersetzen)
user@box ~ $ ssh -i ${HOME}/.ssh/backup_id_ed25519 4000042@backup-02.stoney-backup.com echo Es funktioniert
Es funktioniert
Gratulation, alles funktioniert so wie es sollte!
Speichern Sie die Datei online-backup-2.0.11.tar.gz in Ihr Home-Verzeichnis. Entpacken Sie danach die Datei online-backup-2.0.11.tar.gz folgendermassen:
user@box ~ $ mkdir -p OnlineBackup
user@box ~ $ tar xzfv online-backup-2.0.11.tar.gz --strip 1 --directory OnlineBackup
online-backup-2.0.11/
online-backup-2.0.11/.gitignore
online-backup-2.0.11/CHANGES
online-backup-2.0.11/Jenkinsfile
online-backup-2.0.11/LICENSE
online-backup-2.0.11/README.md
online-backup-2.0.11/bin/
online-backup-2.0.11/bin/OLBUtils.pm
online-backup-2.0.11/bin/OnlineBackup.pl
online-backup-2.0.11/bin/OnlineRestore.pl
online-backup-2.0.11/bin/OnlineRestore.sh
online-backup-2.0.11/conf/
online-backup-2.0.11/conf/OnlineBackup.conf.default
online-backup-2.0.11/conf/OnlineBackupExcludeFiles.conf.default
online-backup-2.0.11/conf/OnlineBackupIncludeFiles.conf.default
online-backup-2.0.11/doc/
online-backup-2.0.11/doc/OnlineBackup.html
online-backup-2.0.11/doc/OnlineBackup.pod
online-backup-2.0.11/doc/OnlineBackup.txt
online-backup-2.0.11/log/
online-backup-2.0.11/log/.gitignore
online-backup-2.0.11/onlinebackup.spec
online-backup-2.0.11/tmp/
online-backup-2.0.11/tmp/.gitignore
Falls Sie OnlineBackup das erste Mal auf diesem System installieren, müssen Sie die Konfigurations-Dateien zu ihren richtigen Namen umbenennen:
cd OnlineBackup/conf/
mv OnlineBackup.conf.default OnlineBackup.conf
mv OnlineBackupExcludeFiles.conf.default OnlineBackupExcludeFiles.conf
mv OnlineBackupIncludeFiles.conf.default OnlineBackupIncludeFiles.conf
Nachdem Sie nun das OnlineBackup in einem Ordner installiert haben, müssen Sie dieses noch konfigurieren.
Die Konfiguration umfasst folgende drei Datei
Wir starten mit der Anpassung der Datei OnlineBackup.conf. Diese Datei ist zuständig für die richtige Lokalisierung aller Pfadangaben, etc.
Als Erstes fügen wir unseren Benutzernamen und Hostnamen ein:
REMOTEUSER=Benutzername # Zum Beispiel: 4000042
REMOTEDIR=Hostname # Zum Beispiel: box
Falls Sie die Installation wie beschrieben ausgeführt haben, sollte der Rest übereinstimmen. Ansonsten müssen Sie die Pfade zu den Dateien noch manuell anpassen:
INCLUDEFILE=$HOME/OnlineBackup/conf/OnlineBackupIncludeFiles.conf
EXCLUDEFILE=$HOME/OnlineBackup/conf/OnlineBackupIncludeFiles.conf
PERMSCRIPT=/tmp/SetPermissions.sh
Überprüfen Sie noch den Eintrag PERMSCRIPT. Dieser ist sehr wichtig, da diese Datei alle Permissions speichert, damit die Dateien bei Verlust auch erfolgreich zurückgeschrieben werden können. Der Eintrag sollte wie nachfolgend auf den /tmp Ordner zeigen: PERMSCRIPT=$HOME/OnlineBackup/tmp/.SetPermissions.sh.
user@box ~ $ vi ~/OnlineBackup/conf/OnlineBackup.conf
REMOTEUSER=4000042
PRIVKEYFILE=$HOME/.ssh/backup_id_ed25519
INCLUDEFILE=$HOME/OnlineBackup/conf/OnlineBackupIncludeFiles.conf
EXCLUDEFILE=$HOME/OnlineBackup/conf/OnlineBackupExcludeFiles.conf
PERMSCRIPT=$HOME/OnlineBackup/tmp/SetPermissions.sh
LOGFILE=$HOME/OnlineBackup/log/OnlineBackup.log
REMOTEDIR=box
LOCKFILE=$HOME/OnlineBackup/tmp/OnlineBackup.lock
Verändern Sie den zweiten Teil der Datei nicht, da dieser Server- und Systemspezifische Teile enthält.
Speichern Sie OnlineBackup.conf und öffnen Sie nun die Datei OnlineBackupIncludeFiles.conf.
WICHTIG: In diesem Ordner muss Ihr User Lese-und Schreibzugriff haben!
Fügen Sie nun alle Pfade hinzu, die Sie gerne gesichert haben möchten (Hier möchten wir /etc und /home sichern). Sie werden bei der nächsten Konfigurationsdatei die Möglichkeit haben, gewisse Ordner in den Pfaden, die Sie hier zum sichern angeben, auszuschliessen und nicht zu sichern.
user@box ~ $ vi $HOME/OnlineBackup/conf/OnlineBackupIncludeFiles.conf
$HOME/OnlineBackup
/etc/
/home/
Speichern Sie die Datei OnlineBackupIncludeFiles.conf und öffnen Sie nun OnlineBackupExcludeFiles.conf.
Fügen Sie in dieser Datei alle Pfade hinzu, die auf keinen Fall gesichert werden sollten. Falls Sie ebenfalls /home sichern möchten und einen Benutzer auf dem System haben, den Sie nicht sichern möchten (Wie hier scponly), dann fügen Sie den Pfad zur Liste hinzu.
user@box ~ $ vi $HOME/OnlineBackup/conf/OnlineBackupExcludeFiles.conf
/proc/*
/sys/*
/home/scponly/*
Speichern Sie die Datei OnlineBackupExcludeFiles.conf. Sie haben nun erfolgreich alle nötigen Dateien konfiguriert.
Testen Sie nun im nächsten Schritt Ihr Online Backup.
Falls die Datei noch nicht ausführbar sein sollte, ändern Sie diese mit chmod folgendermassen:
user@box ~ $ chmod 750 ${HOME}/OnlineBackup/bin/OnlineBackup.pl
Achtung: Perl muss installiert und lauffähig sein!
Der Parameter -h oder --help des Scripts gibt Ihnen eine kleine Hilfe aus.
Starten Sie nun das Backup Script folgendermassen:
user@box ~ $ ${HOME}/OnlineBackup/bin/OnlineBackup.pl -c ${HOME}/OnlineBackup/conf/OnlineBackup.conf
oder
user@box ~ $ perl ${HOME}/OnlineBackup/bin/OnlineBackup.pl -c ${HOME}/OnlineBackup/conf/OnlineBackup.conf
Je nach dem, wie viele Ordner Sie angegeben haben, kann dies nun eine Weile dauern, da dies die erste Synchronisation ist, bei der alle Dateien und Verzeichnisse kopiert und gesichert werden.
Nachdem dieser Prozess abgeschlossen ist, können Sie den gleichen Befehl nochmals ausführen. Diesmal (und ebenfalls in Zukunft) sichert das Script nur noch die veränderten Dateien der angegebenen Ordner.
Falls Sie ein regelmässiges Backup einrichten wollen, fahren Sie mit dem nächsten Schritt fort.
Dieses Beispiel ist für Gentoo Linux mit dcron - andere Konfigurationen können von diesem Beispiel abweichen!
Als Erstes stellen Sie sicher, dass Sie einen cron Dienst installiert und für diesen User konfiguriert haben. Falls nicht, fügen Sie diesen noch zur Gruppe cron hinzu. (Sie müssen für dies als root angemeldet sein)
Um nun ein tägliches Backup einzurichten, erstellen Sie die Datei crons.cron folgendermassen:
user@box ~ $ vi crons.cron
#Mins Hours Days Months Day of the week
#Dieser Eintrag führt das Backup jeden Tag um 17:00h aus
00 17 * * * ${HOME}/OnlineBackup/bin/OnlineBackup.pl -c ${HOME}/OnlineBackup/conf/OnlineBackup.conf
Speichern Sie die Datei crons.cron und fügen Sie den job dem cron folgendermassen hinzu:
user@box ~ $ crontab crons.cron
Um sicherzustellen, dass der Job wirklich ausgeführt wurde, kontrollieren Sie die log-Datei. (Erst nach der Ausführungszeit des jobs testen, ansonsten werden Sie nichts finden) Für dcron funktioniert dies folgendermassen:
user@box ~ $ tail -f /var/log/cron.log
16-Jun-06 12:19 USER user pid 12451 cmd
/home/user/OnlineBackup/bin/OnlineBackup.pl -c /home/user/OnlineBackup/conf/OnlineBackup.conf
Falls der Eintrag OnlineBackup.pl im log erscheint, wurde der job erfolgreich ausgeführt. Gratulation, Sie haben nun ein automatisches tägliches Backup Ihrer wichtigen Dateien erfolgreich eingerichtet.
Dieses Beispiel ist für CentOS Linux mit systemd - andere Konfigurationen können von diesem Beispiel abweichen!
Um nun ein tägliches Backup einzurichten, erstellen Sie die einen Service und einen Timer:
user@box ~ $ vi /etc/systemd/system/onlinebackup.service
[Unit]
Description=Run the Online Backup utility
[Service]
Type=oneshot
ExecStart=/home/user/OnlineBackup/bin/OnlineBackup.pl -c /home/user/OnlineBackup/conf/OnlineBackup.conf
user@box ~ $ vi /etc/systemd/system/onlinebackup.timer
[Unit]
Description=Run onlinebackup daily
[Timer]
#Dieser Eintrag führt das Backup jeden Tag um 17:00h aus
OnCalendar=*-*-* 17:00:00
[Install]
WantedBy=timers.target
Danach müssen Sie den Timer starten:
systemctl daemon-reload
systemctl enable onlinebackup.timer
systemctl start onlinebackup.timer
systemctl list-timers onlinebackup.timer
NEXT LEFT LAST
Sat 2017-01-14 17:00:00 CET 12h left Fri 2017-01-13 17:00:00 CET
PASSED UNIT ACTIVATES
11h ago onlinebackup.timer onlinebackup.service
1 timers listed.
Um dieses tägliche Backup zu überwachen, fahren Sie bitte mit Schritt 8 weiter.
Um die Überwachung für Ihr tägliches Backup einzuschalten, müssen Sie noch einmal die Konfigurations-Datei editieren. Setzen Sie die Werte für SCHEDULEDHOUR und SCHEDULEDMINUTE entsprechend dem, was Sie im cronjob angegeben haben:
user@box ~ $ vi ${HOME}/OnlineBackup/conf/OnlineBackup.conf
SCHEDULEDHOUR=17
SCHEDULEDMINUTE=00
Mit diesen Einstellung wird auf dem Server gespeichert, wann Sie Ihr tägliches Backup geplant haben.
Um die Überwachung zu aktivieren, senden Sie uns bitte ein E-mail an support(at)stepping-stone.ch und teilen Sie uns Ihren Benutzernamen mit.