GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So richten Sie Raspberry Pi als Backup-Server für Linux- und Windows-Desktops ein

Der Raspberry Pi ist eine Serie kleiner Einplatinencomputer. Sie sind ziemlich billig und eignen sich gut für den Betrieb eines Backup-Servers oder VoIP-Servers. Im Februar 2015 wurde der Raspberry Pi 2 veröffentlicht. Es hat mehr RAM, eine neuere CPU und verfügt über 4 integrierte USB-Ports.

Der aktuelle Preis für den Raspberry Pi 2 beträgt $ 35.-. Dazu braucht man aber noch ein paar andere Dinge:

  • microSD-Karte:Der Raspberry Pi 2 benötigt zum Booten eine microSD-Karte. Jeder sollte mit 4 GB oder mehr auskommen. Für den Backup-Server sollten 4 GB ausreichen. Vielleicht möchten Sie eine, die sich schnell lesen lässt.
  • Micro-USB-Ladegerät:Außerdem benötigen Sie ein Netzteil dafür. Es wird über einen Micro-USB-Anschluss mit Strom versorgt, sodass Sie sehr wahrscheinlich ein Ladegerät von einem alten Mobiltelefon zu Hause haben, das Sie nicht mehr benötigen.
  • Externer USB-Speicher:Da es in diesem Howto um die Einrichtung eines Backup-Servers geht, benötigen Sie auch einen externen USB-Speicher. Vielleicht reicht eine externe 512-GB-Festplatte, vielleicht brauchen Sie ein 4-TB-Laufwerk. Das hängt ganz von Ihren Speicheranforderungen ab.
  • Gehäuse:Das Letzte ist das Gehäuse. Sie brauchen nicht unbedingt ein Gehäuse, aber wenn Sie keins verwenden, liegt das gesamte Mainboard irgendwo herum und es ist anfälliger für Beschädigungen.

Die Gesamtkosten betragen also etwa 35 $ für den Raspberry Pi, etwa 10 $ für die microSD-Karte, etwa 10 $ für das Gehäuse, nichts für das Micro-USB-Ladegerät, da Sie wahrscheinlich eines haben, und dann was auch immer das externe USB-Laufwerkskosten.

Außerdem richte ich zum Abrufen von Backups Samba ein und die Freigabe befindet sich im schreibgeschützten Modus ohne erforderliche Anmeldeinformationen. Wenn es gemäß dieser Anleitung richtig konfiguriert ist, ist es nur im LAN verfügbar und verweigert jeden Verbindungsversuch von außerhalb des LAN. Das Einrichten von Samba-Benutzern und anderen Zugangsdaten würde den Rahmen dieser Anleitung sprengen. Es gibt viele andere Anleitungen, die es erklären, und es könnte leicht integriert werden, wenn es nötig ist.

Einrichten des Raspberry Pi als Backup-Server

Das Einrichten des Raspberry Pi als Backup-Server ist der "schwierigste" Teil davon, da Sie zuerst ein Image flashen und dann alles bereit machen müssen. Die Schritt-für-Schritt-Anleitung sollte Sie jedoch durch diese führen.

1. Raspian-Image herunterladen

Laden Sie zunächst das aktuelle Raspian Image von hier herunter https://www.raspberrypi.org/downloads/

2. Flashen Sie das Image auf die microSD-Karte

Nachdem Sie das Image heruntergeladen haben, müssen Sie es auf die microSD-Karte flashen. Da es bereits hervorragende Anleitungen dafür gibt, macht es keinen Sinn, dies hier zu wiederholen. Folgen Sie am besten der Anleitung hier

3. Erster Start / Konfiguration

Nachdem Sie den Raspberry Pi mit dem Raspian Image geflasht haben, schließen Sie einen HDMI-Bildschirm daran an und booten Sie ihn. Beim ersten Start wird Ihnen ein Konfigurationsbildschirm angezeigt. Dieser Konfigurationsbildschirm ist ziemlich einfach und es gibt ein paar Dinge, die Sie einstellen sollten.

Haftungsausschluss:Die Bilder wurden mit einem Handy aufgenommen, daher sind sie nicht so toll.

4. Dateisystem erweitern

Zuerst wollen wir den vollen Speicherplatz auf der SD-Karte zur Verfügung haben. Für die Backups spielt es keine Rolle, da sie sowieso auf einem externen Laufwerk gespeichert werden. Allerdings habe ich gerne Platz zur Verfügung. Wählen Sie also 1 Expand Filesystem und Sie werden mit einer Benachrichtigung aufgefordert, dass das Dateisystem beim nächsten Neustart erweitert wird.

5. Benutzerkennwort ändern

Dann wollen wir das Standardpasswort für den Benutzer „pi“ ändern. Wählen Sie also 2 Benutzerkennwort ändern und geben Sie dann zweimal Ihr gewünschtes Kennwort ein, jedes Mal gefolgt von der Eingabetaste. Sie erhalten erneut eine Benachrichtigung, dass das Passwort geändert wurde.

6. Konsolenanmeldung

Danach wollen wir sicherstellen, dass wir nicht anfangen und gui. Wählen Sie also 3 Enable Boot to Desktop/Scratch. Wählen Sie auf dem folgenden Bildschirm Konsole Textkonsole, Anmeldung erforderlich (Standard).

7. Lokalisierung

Dann wollen wir die Systemsprache und andere verfügbare Sprachen, das Tastaturlayout usw. einstellen. Dazu gehen wir auf 4 Internationalisierungsoptionen ein. Wenn Sie das eingeben, werden Sie aufgefordert, die Sprachen, die Zeitzone und die Tastatursprache zu ändern. Die Dialoge sind alle einfach, daher gehe ich nicht weiter ins Detail.

Hinweis:Wenn Sie eine dieser Optionen ausgewählt haben, landen Sie wieder auf dem Hauptkonfigurationsbildschirm.

8. Erweiterte Optionen

Gehen Sie nun in die 8. Erweiterten Optionen. Dort haben wir noch ein paar Sachen, die wir einstellen können. Die drei wichtigsten sind A2 Hostname, A3 Memory Split und A4 SSH.

9. Legen Sie den Hostnamen fest

Der Hostname ermöglicht Ihnen den Zugriff auf den Raspberry Pi über seinen Hostnamen im LAN. Achtung:Sie können nur Buchstaben und Zahlen verwenden. In diesem Beispiel verwende ich als Hostnamen rpi2bu - kurz für Raspberry Pi 2 Backup, aber es liegt ganz bei Ihnen.

10. Speicheraufteilung

Da wir diesen Raspberry Pi als Backup-Server betreiben wollen, wollen wir keinen wertvollen RAM auf der GPU verschwenden. Denken Sie daran:Dies ist ein Headless-Server. Stellen Sie also den RAM-Split auf 16 MB ein.

11. OpenSSH-Server aktivieren

Da wir unsere Backups mit rsync über ssh machen und der ssh-Zugriff gut für die Fernverwaltung des Raspberry Pi ist, aktivieren Sie auch den OpenSSH-Server im erweiterten Optionsmenü.

11. Beenden und neu starten

Das sind also alle Dinge, die auf dem Konfigurationsbildschirm eingestellt werden müssen, und Sie können jetzt auswählen aus der Hauptkonfiguration. Sobald Sie dies tun, wird der Raspberry Pi neu gestartet und nach einer Weile werden Sie zur Eingabe Ihrer Anmeldeinformationen aufgefordert. Derzeit ist der Benutzer pi und das Passwort ist so eingestellt, wie Sie es in Schritt 5 festgelegt haben. Außerdem wird Ihnen die aktuelle IP-Adresse des Raspberry Pi angezeigt.

12. Erforderliche Pakete aktualisieren und installieren

Um den Raspberry Pi als Backup-Server zu haben, müssen wir zwei zusätzliche Pakete installieren:rsync und samba. Rsync ist das Tool, das die Dateien von Ihrem Windows-/Linux-Computer synchronisiert und Samba dann die Backups im Netzwerk verfügbar macht (im schreibgeschützten Modus).

Da immer viele Änderungen und Aktualisierungen kommen, führen wir zuerst aus:

sudo apt-get update && sudo apt-get upgrade

und dann installieren wir die erforderlichen Pakete durch:

sudo apt-get install rsync samba

Hinweis:Der Standardbenutzer pi kann Systembefehle als root mit dem Befehl sudo ausführen. Wenn Sie den Befehl sudo verwenden, werden Sie erneut nach Ihrem Anmeldekennwort gefragt. Dieses Passwort wird auch für einige Zeit zwischengespeichert, sodass das Ausführen von zwei sudo-Befehlen nacheinander nur einmal die Passworteingabe auslösen sollte.

13. Weiter mit Remote-SSH-Verbindung oder auf dem Raspberry Pi

Die nächsten Schritte können im Raspberry Pi selbst oder über eine ssh-Verbindung durchgeführt werden. Ich bevorzuge SSH-Verbindungen und unter Linux verwende ich nur Konsole in meinem KDE. Unter Windows können Sie Putty oder Kitty

verwenden

14. Suchen und formatieren Sie das externe USB-Laufwerk

Bevor wir den Samba-Server konfigurieren, müssen wir das externe USB-Laufwerk mounten und einen Backup-Benutzer erstellen. Bevor wir das externe USB-Laufwerk mounten können, müssen wir es formatieren und seine UUID kennen. Bevor Sie also Ihr externes USB-Laufwerk anschließen, führen Sie Folgendes aus:

ls -al /dev/disk/by-uuid

und es wird so etwas zurückgeben:

total 0
drwxr-xr-x 2 root root 100 Mai 19 18:22 .
drwxr-xr-x 6 root root 120 Jan  1  1970 ..
lrwxrwxrwx 1 root root  15 Mai 19 18:22 13d368bf-6dbf-4751-8ba1-88bed06bef77 -> ../../mmcblk0p2
lrwxrwxrwx 1 root root  15 Mai 19 18:22 15CD-3B79 -> ../../mmcblk0p1

Schließen Sie nun das externe USB-Laufwerk an und führen Sie den Befehl erneut aus. Sie werden sehen, das Ergebnis ist anders und es gibt ein neues Gerät.

total 0
drwxr-xr-x 2 root root 100 Mai 19 18:22 .
drwxr-xr-x 6 root root 120 Jan  1  1970 ..
lrwxrwxrwx 1 root root  15 Mai 19 18:22 13d368bf-6dbf-4751-8ba1-88bed06bef77 -> ../../mmcblk0p2
lrwxrwxrwx 1 root root  15 Mai 19 18:22 15CD-3B79 -> ../../mmcblk0p1
lrwxrwxrwx 1 root root  10 Mai 19 18:22 eac53de3-9f06-4e46-999c-684da279298b -> ../../sda1

Das sagt uns zwei Dinge. Das neue Gerät ist /dev/sda1 und seine UUID ist eac53de3-9f06-4e46-999c-684da279298b. Wenn Sie mehrere Laufwerke anhängen, kann sich sda1 ändern. Für spätere Einhängezwecke verwenden wir also einfach ihre UUID, die sich nicht ändert, solange die Partitionen nicht geändert werden oder die Partition formatiert wird - wir sind jedoch dabei, die Partition in ein geeignetes Dateisystem zu formatieren.

Bevor wir es verwenden können, müssen wir dieses Laufwerk formatieren. Ich bevorzuge ext4, aber einige Leute bevorzugen vielleicht btrfs wegen seiner Snapshot- und Integritätsprüfungen. Um es als ext4 zu formatieren, führen Sie einfach diesen Befehl aus:

sudo mkfs.ext4 /dev/sda1

Warnung:Achten Sie darauf, das richtige Geräteetikett zu verwenden, da Sie sonst Daten auf einem anderen Gerät zerstören könnten.

Wie gesagt, die Formatierung führt auch zu einer Änderung der UUID, also müssen Sie den oben genannten Befehl erneut eingeben und die neue UUID notieren.

15. Mounten Sie das externe USB-Laufwerk

Als nächstes müssen wir es montieren. Hier müssen Sie entscheiden, wo Sie es montieren möchten. Ich habe mich dafür entschieden, das Laufwerk im Home-Verzeichnis des Backup-Benutzers zu mounten. Ich hätte es auch als /home mounten können, wenn ich wollte. Wenn ich jedoch mehrere Sicherungen durchführen muss, mache ich sie gerne auf einzelnen Laufwerken. Also ein Benutzer =1 Laufwerk und das Laufwerk wird im Home-Verzeichnis des Benutzers gemountet. An den Rasperry Pi können Sie direkt 4 USB-Geräte anschließen, sodass es bei Bedarf einfach auf einen anderen Benutzer erweitert werden kann. Bevor ich es mounte, füge ich einen entsprechenden Backup-Benutzer hinzu - in diesem Howto nenne ich diesen Benutzer bu. Um diesen Benutzer zu erstellen, führen Sie den folgenden Befehl aus:

sudo adduser bu

Sie werden erneut zweimal aufgefordert, ein Passwort für diesen Benutzer anzugeben.

Sobald der Benutzer hinzugefügt wurde, können Sie das externe Laufwerk dort einfach mit dem folgenden Befehl einbinden:

sudo mount /dev/sda1 /home/bu

Bevor wir es jedoch verwenden können, muss noch ein letzter Schritt getan werden. Sie müssen jetzt auch den Besitz des gemounteten Ordners auf den bu-Benutzer ändern:

sudo chown bu:bu /home/bu

Also, wir haben jetzt das externe USB-Laufwerk gemountet und die entsprechenden Berechtigungen gesetzt. Wenn Sie jetzt den folgenden Befehl ausführen, werden Sie sehen, dass /dev/sda1 auf /home/bu

gemountet ist
df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs           15G  2.4G   12G  18% /
/dev/root        15G  2.4G   12G  18% /
devtmpfs        484M     0  484M   0% /dev
tmpfs            98M  236K   98M   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           195M     0  195M   0% /run/shm
/dev/mmcblk0p1   56M   19M   37M  34% /boot
/dev/sda1       2.7T  260M  2.6T   1% /home/bu

Da ich bereits einige Testdaten auf dem externen USB-Laufwerk habe, zeigt es, dass ich bereits 260 MB verwendet habe. Auf einem neuen Laufwerk sollte es Null sein.

16. Mounten Sie ein externes USB-Laufwerk beim Hochfahren

Alles scheint zu finden, aber nach einem Neustart ist das externe USB-Laufwerk nicht mehr gemountet. Normalerweise würden Sie einfach einen Eintrag zu /etc/fstab hinzufügen, aber es gibt ein Problem mit zu schnellem Booten und zu langsamer USB-Erkennung. Die Lösung ist ziemlich einfach.

Bearbeiten:/boot/cmdline.txt

und Sie werden sehen, dass es eine Zeile gibt, die Folgendes enthält:

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

Fügen Sie einfach rootdelay=10 hinzu, sodass es jetzt so aussieht:

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait rootdelay=10

Bearbeiten Sie als Nächstes /etc/fstab

und fügen Sie dies am Ende dieser Datei hinzu

UUID=eac53de3-9f06-4e46-999c-684da279298b       /home/bu        ext4    defaults        0       2

Verwenden Sie statt der im obigen Beispiel angegebenen natürlich Ihre eigene UUID.

Jetzt haben wir also dafür gesorgt, dass die externen USB-Laufwerke auch nach einem Neustart in /home/bu gemountet werden. Wenn Sie mehr als ein USB-Gerät anschließen, das ich nie getestet habe, und Sie bemerken, dass ich nicht alle richtig hinzufüge, dann erweitern Sie vielleicht rootdealy auf mehr als 10.

17. Konfigurieren Sie Samba

Als nächstes konfigurieren wir Samba so, dass es alle Backups im Netzwerk verfügbar macht. Samba ist ein Daemon, der Netzwerkfreigaben bereitstellt, auf die auch über Windows mit dem smb-Protokoll zugegriffen werden kann.

Bearbeiten Sie einfach /etc/samba/smb.conf und ersetzen Sie den Kontext der Konfigurationsdatei durch diesen:

[global]

   workgroup = WORKGROUP
   server string = %h server
;   wins support = no
;   wins server = w.x.y.z
   dns proxy = no
;   name resolve order = lmhosts host wins bcast
   name resolve order = bcast lmhosts host wins

    socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE

;   interfaces = 127.0.0.0/8 eth0
;   bind interfaces only = yes

   hosts allow = 127.0.0.1, 10.0.0.0/24
   hosts deny = 0.0.0.0/0

   log file = /var/log/samba/log.%m
   max log size = 1000
#   syslog only = no
   syslog = 0
   panic action = /usr/share/samba/panic-action %d

   security = user
   encrypt passwords = true
   map to guest = bad user
   guest account = bu

#   valid users = root

#======================= Share Definitions =======================

[Backup]
        comment = Backup Share
        path = /home/bu
        read only = yes
        guest only = yes
        guest ok = yes
        hosts allow = 127.0.0.1, 10.0.0.0/24
        force user = bu
        force group = bu
        hosts deny = 0.0.0.0/0

Um sicherzustellen, dass nichts außerhalb des LANs durchgesickert ist, habe ich im globalen Abschnitt festgelegt, dass jede IP-Adresse abgelehnt und nur localhost sowie das LAN zugelassen werden. Ich benutze 10.0.0.x für mein LAN. Wahrscheinlich verwenden Sie 192.168.0.0, also ändern Sie dies entsprechend.

Außerdem sehen Sie im globalen Abschnitt, dass das Gastkonto der bu-Benutzer ist, und in der tatsächlichen Freigabe können Sie sehen, dass Gäste Zugriff haben und dass es sich um einen Lesezugriff handelt.

Speichern und beenden Sie die Datei und starten Sie Samba neu:

sudo /etc/init.d/samba restart

Damit sind wir noch nicht fertig mit der Konfiguration der Dienste.

18. Kontrolldatei auf dem Raspberry Pi sichern

Erstellen und bearbeiten Sie die Datei /home/bu/backups.sh und füllen Sie sie mit folgendem Inhalt:

#!/usr/bin/env bash

basePath="/home/bu"

action="${1}"

function checkMonth ()
{
        now=$(date +"%Y-%m")
        last=$(<checkMonth.txt)
        if [[ ${now} != ${last} ]]
        then
                # New Month
                mkdir -p "${basePath}/current/"
                rm -Rf "${basePath}/current/"*
                echo "${now}" > "checkMonth.txt"
        fi
}



function makeHardlink ()
{
        # Make hardlink copy
        now=$(date +"%Y-%m-%d_%H-%M")
        mkdir -p "${basePath}/old/${now}"
        cp -al "${basePath}/current"* "${basePath}/old/${now}"
}



function checkFree ()
{
        # Check if old files need to be deleted
        freeSpace=$( df -P | grep "${basePath}" | awk '{print $4}' )
        curUse=$( cd "${basePath}/current" | du -s | awk '{print $1}' )
        estUse=$(( curUse * 2 ))

        echo "${freeSpace} - ${curUse} - ${estUse}"

        while [[ ${freeSpace} -le ${estUse} ]]
        do
                echo "Not enough space... removing old backups..."
                IFS= read -r -d $'\0' line < <(find "${basePath}/old" -type d -maxdepth 1 -printf '%[email protected] %p\0' 2>/dev/null | sort -z -n)
                oldDir="${line#* }"
                rm -Rf "${oldDir}"
                freeSpace=$( df -P | grep "${basePath}" | awk '{print $4}' )
                echo "${freeSpace} - ${curUse} - ${estUse}"
        done
}



case ${action} in

        newMonth)
                        checkMonth
                        ;;
        hardLink)
                        makeHardlink
                        checkFree
                        ;;
esac

Dieses Skript hat zwei Zwecke. Es sollte vor und nach jedem Backup ausgeführt werden.

Die checkMonth-Funktion prüft, ob es seit der letzten Sicherung einen neuen Monat gibt. Wie Sie wissen, kann die Festplatte beschädigt werden oder einige Teile davon können ausfallen. In diesem Fall können Sie nicht mehr auf die Datendateien in den beschädigten Sektoren zugreifen. Das Erstellen einer vollständigen Sicherung erfordert jedoch immer viel Speicherplatz. Um Speicherplatz zu sparen, verlinke ich Sicherungen fest, d. h. ich schreibe nur die "Index"-Dateien des Dateisystems neu, die auf dieselben Daten verweisen. Wenn also der Datensektor beschädigt wird, kann die Datei nicht mehr für alle fest verknüpften Dateien abgerufen werden, da sie alle auf dieselben Daten verweisen. Um dieses Risiko zu minimieren, sorge ich dafür, dass jeden Monat ein komplett neues Backup-Set geschrieben wird. Dies wird in Ihrem Speicherplatz essen. Z.B. Wenn Sie 400 GB Daten haben, bedeutet dies, dass in Monat 1 400 GB + geänderte Dateien verwendet werden. In Monat 2 werden weitere 400 GB + geänderte Dateien usw. verwendet.

Das bedeutet auch, dass die erste Synchronisierung und die erste Synchronisierung in einem neuen Monat lange dauern werden. Alle anderen sind schnell.

Die makeHardlink-Funktion erstellt tatsächlich die Hardlink-Kopie der letzten Sicherung. Eine Hardlink-Kopie benötigt fast keinen Platz und bei einem Backup werden nur neue Dateien neu geschrieben. Auch in Kombination mit der Hardlink-Kopie führe ich die checkFree-Funktion aus.

Die Funktion checkFree überprüft den freien Speicherplatz von /home/bu. Es überprüft auch die verwendete Größe durch das letzte Backup. Wenn der freie Speicherplatz weniger als doppelt so groß ist wie bei der letzten Sicherung, werden alte Sicherungen entfernt, bis wieder doppelt so viel freier Speicherplatz vorhanden ist. Wenn Sie bereits 400 GB an Daten sichern möchten, ist es unwahrscheinlich, dass Sie am nächsten Tag/zur nächsten Sicherungszeit mehr als 800 GB haben.

.

Zusammen bedeutet dies, dass Sie diesen Backup-Mechanismus "für immer" nutzen können. Alte Sicherungen werden automatisch entfernt, wenn der freie Speicherplatz zu klein wird.

Nachdem Sie dieses Skript gespeichert haben, machen Sie es ausführbar und ändern Sie den Besitz auf den bu-Benutzer:

sudo 0755 /home/bu/backups.sh
sudo chown bu:bu /home/bu/backups.sh

Das ist es auf der Raspberry Pi-Seite.

Erstellen von Backups auf dem Rasperry Pi von Linux

Um Backups auf dem Raspberry Pi zu erstellen, müssen Sie nur Ihren aktuellen Benutzer (oder root, falls gewünscht) zum Backup-Benutzerkonto des Raspberry Pi hinzufügen.

Ich gehe davon aus, dass Sie bereits einen ssh-Client installiert haben und einen öffentlichen Schlüssel haben, den Sie verwenden können. Eventuell müssen Sie zuerst rsync installieren.

19. Erstellen Sie einen öffentlichen SSH-Schlüssel

Wenn Sie noch keinen öffentlichen Schlüssel haben, erstellen Sie einen:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Ersetzen Sie es natürlich durch Ihre E-Mail-Adresse oder füllen Sie einfach alles aus, wenn Sie möchten.

20. Kopieren Sie den öffentlichen SSH-Schlüssel auf den Rasperry Pi-Backup-Benutzer

Dann müssen Sie Ihren öffentlichen Schlüssel in das Backup-Benutzerkonto des Raspberry Pi kopieren:

ssh-copy-id ~/.ssh/id_rsa.pub [email protected]

Ersetzen Sie bu und rpi2bu durch Ihren tatsächlichen Backup-Benutzer und Hostnamen. Wenn der Raspberry Pi aus irgendeinem Grund nicht anhand seines Hostnamens erkannt werden kann, verwenden Sie seine IP-Adresse.

21. Sicherungsskript auf dem Desktop erstellen

Jetzt, da wir uns beim Raspberry Pi anmelden können, ohne ein Passwort angeben zu müssen, brauchen wir ein kleines Bash-Skript, das die Sicherung durchführt. Erstellen Sie eine backup.sh auf dem Desktop.

Bearbeiten Sie ~/Desktop/backup.sh" und fügen Sie diese hinzu

#!/usr/bin/env bash

# Check for new month
ssh [email protected] '/home/bu/backups.sh newMonth'
# Run rsync backup
rsync -avzpH  --partial --delete ~/ [email protected]:/home/bu/current/
# Make backup and check regarding free space
ssh [email protected] '/home/bu/backups.sh hardLink'

Dann ausführbar machen:

chmod 0755 ~/Desktop/backup.sh

Und das war's - vergessen Sie natürlich nicht, den entsprechenden Hostnamen für den Raspberry Pi einzustellen und ändern Sie den Benutzer, wenn Sie etwas anderes verwenden.

Erstellen von Backups auf dem Rasperry Pi von Windows aus

Unter Windows ist es etwas schwieriger, da all diese netten *nix-Tools fehlen. Vor allem ssh und rsync. Die einfache Lösung hier ist jedoch, cygwin mit den entsprechenden Paketen zu installieren.

22. Laden Sie Cygwin herunter

Zuerst müssen wir Cygwin herunterladen und installieren. Laden Sie es hier herunter. Höchstwahrscheinlich möchten Sie die 64-Bit-Version verwenden.

23. Installieren Sie Cygwin mit den erforderlichen Paketen

Wenn der Download des Cygwin-Installationsprogramms abgeschlossen ist, führen Sie es aus. Sie werden dann zu einigen Eingaben aufgefordert. Geben Sie Eingaben gemäß der folgenden Liste ein:

Wählen Sie eine Download-Quelle -> Aus dem Internet installieren
Wählen Sie das Root-Installationsverzeichnis -> C:\cygwin
Lokales Paketverzeichnis -> C:\Benutzer\\Downloads (Standard beibehalten)
Wählen Sie Ihre Internetverbindung -> Direkte Verbindung
Wählen Sie eine Download-Site -> Wählen Sie eine Download-Site in Ihrer Nähe aus

Anschließend wird Ihnen der Dialog Pakete auswählen angezeigt. Hier ist es wichtig, rsync und openssh auszuwählen. Am besten filtern Sie die Liste mit dem Suchfeld. Geben Sie einfach rsync ein und Sie finden es dann im Net-Ordner. Klicken Sie darauf und dann auf Bin? Spalte sollte jetzt überprüft werden. Wiederholen Sie dies für openssh.

Danach werden alle Pakete heruntergeladen und installiert. Da es viele *nix-Tools herunterladen wird, wird es eine Weile dauern.

24. Erstellen Sie einen öffentlichen SSH-Schlüssel

Nach der Installation von Cygwin inklusive rsync und openssh haben Sie einen neuen "Cygwin"-Eintrag in Ihrem Startmenü. In diesem Eintrag finden Sie den Link für das Cygwin-Terminal. Führen Sie dies aus und ein Terminal wird geöffnet. Im Terminal erstellen wir den öffentlichen SSH-Schlüssel, indem wir diesen Befehl ausgeben:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Ersetzen Sie es natürlich durch Ihre E-Mail-Adresse oder füllen Sie einfach alles aus, wenn Sie möchten.

25. Kopieren Sie den öffentlichen SSH-Schlüssel auf den Rasperry Pi-Backup-Benutzer

Dann müssen Sie Ihren öffentlichen Schlüssel in das Backup-Benutzerkonto des Raspberry Pi kopieren:

ssh-copy-id ~/.ssh/id_rsa.pub [email protected]

Ersetzen Sie bu und rpi2bu durch Ihren tatsächlichen Backup-Benutzer und Hostnamen. Wenn der Raspberry Pi aus irgendeinem Grund nicht anhand seines Hostnamens erkannt werden kann, verwenden Sie seine IP-Adresse.

26. Sicherungsskript auf dem Desktop erstellen

Öffnen Sie nun Ihren Texteditor und geben Sie Folgendes ein:

REM Just a little script for making backups

REM Check if it's a new month
c:\cygwin\bin\ssh.exe [email protected] '/home/bu/backups.sh newMonth'
REM Make backup with rsync
c:\cygwin\bin\rsync -avzpH  --partial --delete -e "c:\cygwin\bin\ssh.exe" /cygdrive/c/Users [email protected]:/home/bu/current/
REM Make hardlink copy and clean up space if necessary
c:\cygwin\bin\ssh.exe [email protected] '/home/bu/backups.sh hardLink'

Speichern Sie diese Datei als backup.bat

auf Ihrem Desktop (oder einem anderen Ort).

Es ist wichtig, dass die Dateierweiterung .bat ist, damit Windows sie ausführen kann.

Wenn Sie Cygwin in einem anderen Ordner installiert haben, geben Sie den entsprechenden Pfad an (standardmäßig wird c:\cygwin64 für die 64-Bit-Installation verwendet). Ändern Sie auch den Raspberry Pi-Hostnamen und den Backup-Benutzer, wenn Sie etwas anderes verwendet haben.

Wenn Sie jetzt auf die Datei backup.bat auf Ihrem Desktop klicken, wird ein Terminal geöffnet und die Sicherung erstellt. Sie können es auch über den Windows-Befehl (cmd.exe) ausführen, damit es nicht automatisch geschlossen wird, wenn es fertig ist.

Prüfen Sie Ihre Backups

Nur Backups zu erstellen ist nur die halbe Miete. Sie müssen überprüfen, ob (a) Sicherungskopien erstellt wurden und (b) Sie sie verwenden können, um die Daten bei Bedarf wiederherzustellen.

Um dies zu vereinfachen, richten wir Samba früher ein. Wenn Sie die Netzwerkumgebung richtig konfiguriert haben, sollten Sie einen Computer/Server namens rpi2bu in Ihrer Nähe haben. Öffnen Sie in Windows einfach den Explorer, gehen Sie zum Netzwerk und warten Sie 2-3 Sekunden, bis es angezeigt wird. Unter Linux, z. In Dolphin klicken Sie einfach auf das Netzwerksymbol in der Seitenleiste der Orte. Sie können diesen Computer/Server dann ohne Anmeldeinformationen eingeben und es wird Ihnen dann eine Freigabe namens Backup angezeigt. Wenn Sie diese Freigabe eingeben, sehen Sie zwei Ordner, aktuell und alt, sowie zwei Dateien backups.sh und checkMonth.txt. Sie können die Dateien zurück auf Ihren Computer kopieren, aber da Samba als schreibgeschützt eingerichtet ist, können Sie die Dateien nicht löschen.

Kopieren Sie also einige Dateien zurück auf Ihren Computer und überprüfen Sie, ob sie ordnungsgemäß ausgeführt werden. Wenn dies der Fall ist, haben Sie erfolgreich eine Sicherung erstellt.


Linux
  1. So richten Sie NTP-Server und -Client unter Debian 9 Stretch Linux ein

  2. So konfigurieren Sie den SAMBA-Server und übertragen Dateien zwischen Linux und Windows

  3. So installieren und richten Sie cPanel auf einem Linux-Server ein

  4. So installieren Sie Borgmatic für einfache Linux-Server-Backups

  5. Anleitung zum Einrichten und Konfigurieren von YPServ Linux NIS Server und Client

So richten Sie ZSH und Oh-my-zsh unter Linux ein

So sichern und wiederherstellen Sie eine SD-Karte für Raspberry Pi

So richten Sie einen Sicherungsserver mit Rsnapshot unter Linux ein

So installieren und konfigurieren Sie die CSF-Firewall für Linux

So richten Sie einen Linux-VPN-Server und -Client mit OpenVPN ein

So installieren und konfigurieren Sie das Windows-Subsystem für Linux