Skip to content

Datensicherung zwischen zwei Server

Linux
  • Nehmen wir mal folgende Situation an.

    • einen Server im Internet Server1
    • einen Server im LAN Server2

    Auf dem Server1 liegt eine Datei, die ich gerne einmal am Tag sichern würde. Server2 dient als Ziel zur Datensicherung.

    0_1529324812635_database-1954920_640.jpg

    Wir brauchen

    • Script auf dem Server1
    • Script auf dem Server2

    Für beide Scripte legen wir einen Cronjob an, damit das Ganze vollautomatisch abläuft. Für die Datenübertragung benutzen wir das Programm scp

    scp ermöglicht die verschlüsselte Übertragung zwischen zwei Computern im Netz.

    Script 1

     #!/bin/bash
     ###############################################################################$
     #       Autor: Frank Mankel
     #       Redis Backup-Script
     #
     #       Kontakt: 
     #
     ###############################################################################$
     
     echo "Start Redis Backup-Script"
     
     echo "Daten sichern"
     # Daten kopieren
     cp /var/lib/redis/dump.rdb /home/frank/redis_backup
     
     # Ins Arbeitsverzeichnis wechseln
     cd /home/frank/redis_backup
     
     # Der Datei das aktuelle Datum anhängen
     cp dump.rdb dump.rdb_`date +%d_%b_%Y`
     
     # Den Namen der Datei einer Variablen zuordnen
     file=`find /home/frank/redis_backup -type f -name "*.rdb_*" -printf "%f\n"`
     
     # Den Benutzer ändern
     chown frank:frank dump.rdb*
     
     # Paar Textausgaben falls man das File mal von Hand ausführt
     echo "File kopiert"
     echo "Sie können jetzt die Daten per SCP sichern"
     echo "scp user@google.com:/home/frank/redis_backup/$file ."
     
     # Aus Sicherheitsgründen, lösche ich die Files nach einer bestimmten Zeit.
     # In dieser Zeit wird per Cron das File runter geladen!
     sleep 10m
     rm dump.rdb*
     
     # Fertig ;)
     echo "Scipt beendet"
    

    Script2

    #!/bin/bash
    ###############################################################################$
    #       Autor: Frank Mankel
    #       Redis Backup-Script
    #
    #       Kontakt: 
    #
    ###############################################################################$
    
    scp frank@google.com:/home/frank/redis_backup/dump.rdb_* .
    echo "Datei gesichert"
    
    # Alle Dateien löschen, die älter als 5 Tage sind.
    find /Datei_Pfad/ -name "*.rdb*" -mtime 5 -exec rm {} \;
    

    Bitte den find Befehl erst ohne die Löschfunktion testen!

     -exec rm {} \;
    

    Eine fehlerhafte Eingabe löscht gnadenlos, ohne Rückfrage!

    Für beide Scripte legen wir jeweils einen Crontab an. Da gehe ich hier nicht weiter drauf ein.

    crontab -e
    

    Bleibt noch ein Problem. scp verlangt das Passwort beim Aufruf, nicht gut. Aber auch dafür gibt es eine Lösung.

    Server2

    [user@server2]# ssh-keygen -t rsa -b 2048
    Generating public/private rsa key pair.
    Enter file in which to save the key (/root/.ssh/id_rsa): # Hit Enter
    Enter passphrase (empty for no passphrase): # Hit Enter
    Enter same passphrase again: # Hit Enter
    Your identification has been saved in /root/.ssh/id_rsa.
    Your public key has been saved in /root/.ssh/id_rsa.pub.
    

    Danach den Key auf Server1 kopieren

    ssh-copy-id user1@server1
    

    Quelle: unix.stackechange.com

    Danach kann man sich ohne Passwort auf dem Server1 anmelden, somit kann das Programm jetzt auch vollautomatisch gestartet werden.

  • Funktionskontrolle heute morgen war o.k. Schreibt die Daten aber noch ins falsche Verzeichnis, da muss ich nochmal ran.

  • Redis ändert das Lizenz Modell

    Redis
    2
    0 Stimmen
    2 Beiträge
    58 Aufrufe
    FrankMF

    Ein Artikel von Heise zum Thema

    Link Preview Image Datenbankanbieter Redis ändert sein Lizenzmodell – erneut

    Die No-SQL-Datenbank wird künftig nach einem dualen Modell lizenziert: Redis Source Available License Version 2 oder Server-Side Public License Version 1.​

    favicon

    Developer (www.heise.de)

  • Ansible - Hetzner Server erstellen

    Verschoben Ansible
    1
    0 Stimmen
    1 Beiträge
    155 Aufrufe
    Niemand hat geantwortet
  • 0 Stimmen
    1 Beiträge
    75 Aufrufe
    Niemand hat geantwortet
  • Debian Bookworm 12 - Test

    Linux
    6
    0 Stimmen
    6 Beiträge
    378 Aufrufe
    FrankMF

    Es scheint sich was zu tuen. Ein paar Probleme, gehören der Vergangenheit an. Bitte beachten, ich nutze fast ausschließlich Wayland!

    e0c00b53-8f25-4b52-97a3-6fd49a2c5638-grafik.png

    Problem VLC

    Ich nutze zum TV schauen gerne die Listen der Fritzbox. Damit kann man einfach im VLC TV schauen und umschalten usw. Problem war, das sehr oft, das Umschalten nicht korrekt funktionierte. Das scheint mittlerweile gefixt zu sein. DANKE!

    56648116-4bbb-461c-b7fd-4a344cc12749-grafik.png

    Problem KDE Desktop

    Der KDE Desktop konnte sich die Positionen der Icons nicht "merken". Ich sortiere die gerne, so das ich die TV-Listen z.B. immer unten rechts vorfinde. Das ging leider lange nicht. Mittlerweile scheint das nervige Problem gefixt zu sein. Ich habe eben sogar extra dafür neugestartet um zu sehen, das die Positionen erhalten bleiben. DANKE!

    63f71f34-c208-4b98-b0e9-54c94f3d19f2-grafik.png

    Fazit

    Somit bleibt aktuell noch ein Problem, das wäre OBS. Dafür muss ich aktuell noch immer auf eine X11 Session umschalten. Bitte fixen!

    Es sieht auch so aus, das am KDE Plasma Desktop recht aktiv gearbeitet wird. Da kommen sehr oft, sehr viele neue Pakete rein. Nein, ich benutze kein Testing, ich bin aktuell auf dem Stable Zweig.

    So langsam wird der KDE Plasma Desktop - unter Wayland - rund!

    Bitte beachten, die Wayland Erfahrung hängt extrem von der GPU ab. Unter NVidia wird das auch heute keinen Spaß machen. Mit eingebauter AMD GPU und Intel GPU solltet ihr sehr wenige Probleme haben.

    Das dürfte auch der Grund sein, warum immer mehr Distributionen ankündigen, in Zukunft nur noch auf Wayland zus setzen.

    Link Preview Image It's Final: Fedora 40 to Offer Plasma 6, Drops X11 Entirely

    FESCo members voted 6+1 to include KDE Plasma 6 with Wayland as the only desktop mode available in Fedora 40. Here's more on that!

    favicon

    Linuxiac (linuxiac.com)

  • NanoPi R5S - Samba

    NanoPi R5S
    5
    0 Stimmen
    5 Beiträge
    254 Aufrufe
    FrankMF

    Test zu dem NFS Mount (240GB USB SSD an USB-Port)

    [frank-ms7c37 nfs]# dd if=/dev/zero of=sd.img bs=1M count=2048 oflag=direct,nonblock 2048+0 Datensätze ein 2048+0 Datensätze aus 2147483648 Bytes (2,1 GB, 2,0 GiB) kopiert, 20,0851 s, 107 MB/s

    Test zum NAS Mount (Samba) (2TB 2,5Zoll HDD am USB-Port)

    [frank-ms7c37 NAS]# dd if=/dev/zero of=sd.img bs=1M count=2048 oflag=direct,nonblock 2048+0 Datensätze ein 2048+0 Datensätze aus 2147483648 Bytes (2,1 GB, 2,0 GiB) kopiert, 21,4538 s, 100 MB/s

    Das für den NAS Mount (Samba) sollte die maximal Schreibgrenze der Festplatte sein. Mehr dürfte da nicht gehen. Das andere könnte an den Adaptern liegen, die ich dafür benutze.

    Bei mir ist NFS hier aktuell nicht viel schneller, oder ich bin zu doof dafür.

  • checkmk - Rest-Server überwachen

    Verschoben checkmk
    1
    0 Stimmen
    1 Beiträge
    350 Aufrufe
    Niemand hat geantwortet
  • OpenWrt - Sysupgrade

    OpenWRT & Ubiquiti ER-X
    1
    0 Stimmen
    1 Beiträge
    215 Aufrufe
    Niemand hat geantwortet
  • Kopia - HTTP/S Server

    Verschoben Kopia
    3
    0 Stimmen
    3 Beiträge
    1k Aufrufe
    FrankMF

    Ich hatte ein paar Probleme, die ich mir teilweise nicht erklären kann 🤔

    Ich möchte den Kopia Server gerne über systemd steuern.

    SystemD [Unit] Description=Kopia Server After=syslog.target After=network.target [Service] Type=simple User=kopia Group=kopia ExecStart=/usr/bin/kopia server --tls-cert-file /home/kopia-server/fullchain.pem --tls-key-file /home/kopia-server/privkey.pem --htpasswd-file /home/kopia-server/.htpasswd --address <IPv4>:51515 Restart=always RestartSec=5 [Install] WantedBy=multi-user.target

    Danach

    systemctl daemon-reload systemctl start kopia-server

    Mit

    systemctl status kopia-server

    kann man sich den Status anzeigen lassen.

    Client Rechner

    Auf dem Client, der das Backup zum Server schicken soll, machen wir dann folgendes.

    USER@HOSTNAME:~$ kopia repo connect server --url=https://<DOMAIN>:51515 --override-username=USER --override-hostname=HOSTNAME Enter password to open repository: Connected to repository API Server. NOTICE: Kopia will check for updates on GitHub every 7 days, starting 24 hours after first use. To disable this behavior, set environment variable KOPIA_CHECK_FOR_UPDATES=false Alternatively you can remove the file "/home/frank/.config/kopia/repository.config.update-info.json".

    Danach steht die Verbindung und wir können Backups hochschieben.

    kopia snapshot create $HOME

    Damit wird das Homeverzeichnis gesichert. Das initiale Backup, hat 30 Minuten gebraucht.

    created snapshot with root kb9e50ff5xxxxxxxxxx265d40a5d0861 and ID cda5c0ffxxxxxxxxxxxxxxa4cb4a367b in 30m28s

    Ein späteres Backup, sieht so aus.

    USER@HOSTNAME:~$ kopia snapshot create $HOME Snapshotting USER@HOSTNAME:/home/frank ... * 0 hashing, 51 hashed (324.8 MB), 8524 cached (6.6 GB), 0 uploaded (0 B), 0 errors 100.0% Created snapshot with root kc20a4xxxxxxxxxxxx745c6c7b37c and ID d7a96eaxxxxxxxxxxx0961018eacffa in 3m12s

    Nach 3 Minuten durch. Zu diesem Zeitpunkt hat sich aber auch nicht wirklich was geändert!

    Fazit

    Das Tool macht immer noch einen sehr guten Eindruck. Die Geschwindigkeit ist sehr gut. Die Anleitung ist leider unzureichend. Da gibt es so viele Möglichkeiten, da braucht es sehr lange, bis man da mal durchsteigt. Zum Glück, ist das was man normalerweise braucht, recht überschaubar. Bis zum produktiven Einsatz braucht das aber bei mir noch eine Menge mehr Tests.

    Was ich noch testen möchte

    Verzeichnis mounten Backup testweise wieder herstellen (zumindestens teilweise)

    Der Test läuft mit Standard Einstellungen, also z.B. ohne Kompression. Das sollte man dann auch mal testen..

    Bitte achtet auf gleiche Versionen auf dem Clienten, wie auf dem Server. Ich meine da ein paar Probleme festgestellt zu haben...