Skip to content

Datensicherung zwischen zwei Server

Linux
2 1 761
  • 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.

  • Fedora 42

    Linux fedora linux btrfs
    2
    2
    0 Stimmen
    2 Beiträge
    230 Aufrufe
    FrankMF
    Ich habe mir gestern den Cosmic Desktop angesehen. Davon abgesehen, das er noch ein sehr frühes Stadium ist, hat er mir nicht wirklich gefallen. Also heute mal die Referenz von Fedora installiert, die Workstation mit Gnome Desktop. Wer hier lange mitliest, weiß das ich kein Fanboy vom Gnome Desktop bin. Aber ich wollte unbedingt mal den Anaconda Installer sehen. Der ist richtig gut geworden und das man jetzt das Tastaturlayout für die Verschlüsselung einstellen kann, wird hoffentlich in Zukunft verhindern, das ich mit einer amerikanischen Tastatur meine Passphrase eingeben muss Da war ja vorher bei meinen Test das Problem, das ich nach Standby nicht über die Tastatur aufwecken konnte. Das war eine Einstellung im BIOS, irgendwas mit Wakeup/BIOS/USB Jetzt funktioniert das auch einwandfrei. Und zu Gnome sag ich mal nichts, ich bin da vermutlich zu alt für Ich lasse es aber mal ein paar Tage auf der Platte, vielleicht erkenne ich ja noch seinen Nutzen. Zum Schluss, das schöne an FOSS ist, wir haben die Wahl welchen Desktop wir installieren dürfen. Fedora 42 sieht gut aus und läuft rund. Jetzt mal suchen, wo ich in Gnome diese beschissene Updateverhalten ausschalten kann, was aussieht wie ein Windows. Das braucht nun wirklich niemand.
  • RockPro64 - Mainline Kernel 6.13.0-1197-ayufan

    ROCKPro64 rockpro64 linux
    1
    0 Stimmen
    1 Beiträge
    63 Aufrufe
    Niemand hat geantwortet
  • Debian Bug auf Arm64

    Linux linux arm64
    1
    0 Stimmen
    1 Beiträge
    171 Aufrufe
    Niemand hat geantwortet
  • Update 1.32.0 released - Security Fixes!

    Vaultwarden vaultwarden debian linux
    1
    0 Stimmen
    1 Beiträge
    150 Aufrufe
    Niemand hat geantwortet
  • Flatpak - Signal

    Linux flatpak signal linux
    1
    0 Stimmen
    1 Beiträge
    137 Aufrufe
    Niemand hat geantwortet
  • Raspberry Pi5 - First Boot

    RaspberryPi raspberrypi linux debian
    1
    2
    0 Stimmen
    1 Beiträge
    275 Aufrufe
    Niemand hat geantwortet
  • checkmk - Agent auf einem Debian Buster Server installieren

    Verschoben checkmk checkmk linux
    1
    2
    0 Stimmen
    1 Beiträge
    764 Aufrufe
    Niemand hat geantwortet
  • Liste von Linuxbefehlen

    Angeheftet Linux linux
    4
    1
    0 Stimmen
    4 Beiträge
    908 Aufrufe
    FrankMF
    Anzeige des Speicherplatzes als Ersatz für df -h ~ duf  ✔ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ 8 local devices │ ├─────────────────┬────────┬────────┬────────┬───────────────────────────────┬───────┬─────────────────────────────────┤ │ MOUNTED ON │ SIZE │ USED │ AVAIL │ USE% │ TYPE │ FILESYSTEM │ ├─────────────────┼────────┼────────┼────────┼───────────────────────────────┼───────┼─────────────────────────────────┤ │ / │ 435.4G │ 154.6G │ 274.6G │ [#######.............] 35.5% │ btrfs │ /dev/luks-5336cabc-29f1-4af2-8a │ │ │ │ │ │ │ │ 31/dd411a9a1599 │ │ /boot/efi │ 299.4M │ 728.0K │ 298.7M │ [....................] 0.2% │ vfat │ /dev/nvme0n1p1 │ │ /home │ 435.4G │ 154.6G │ 274.6G │ [#######.............] 35.5% │ btrfs │ /dev/luks-5336cabc-29f1-4af2-8a │ │ │ │ │ │ │ │ 31/dd411a9a1599 │ │ /mnt/1TB │ 916.7G │ 821.8G │ 48.3G │ [#################...] 89.7% │ ext4 │ /dev/sda1 │ │ /mnt/Backup │ 457.4G │ 125.3G │ 308.8G │ [#####...............] 27.4% │ ext4 │ /dev/sdc1 │ │ /mnt/Backup_PVE │ 3.6T │ 718.3G │ 2.7T │ [###.................] 19.6% │ ext4 │ /dev/sdb1 │ │ /var/cache │ 435.4G │ 154.6G │ 274.6G │ [#######.............] 35.5% │ btrfs │ /dev/luks-5336cabc-29f1-4af2-8a │ │ │ │ │ │ │ │ 31/dd411a9a1599 │ │ /var/log │ 435.4G │ 154.6G │ 274.6G │ [#######.............] 35.5% │ btrfs │ /dev/luks-5336cabc-29f1-4af2-8a │ │ │ │ │ │ │ │ 31/dd411a9a1599 │ ╰─────────────────┴────────┴────────┴────────┴───────────────────────────────┴───────┴─────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ 1 network device │ ├────────────┬────────┬────────┬────────┬───────────────────────────────┬──────┬───────────────────┤ │ MOUNTED ON │ SIZE │ USED │ AVAIL │ USE% │ TYPE │ FILESYSTEM │ ├────────────┼────────┼────────┼────────┼───────────────────────────────┼──────┼───────────────────┤ │ /mnt/NAS │ 786.4G │ 327.0G │ 419.3G │ [########............] 41.6% │ nfs4 │ 192.168.3.19:/NAS │ ╰────────────┴────────┴────────┴────────┴───────────────────────────────┴──────┴───────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ 9 special devices │ ├─────────────────────────────────┬────────┬────────┬───────┬───────────────────────────────┬──────────┬────────────┤ │ MOUNTED ON │ SIZE │ USED │ AVAIL │ USE% │ TYPE │ FILESYSTEM │ ├─────────────────────────────────┼────────┼────────┼───────┼───────────────────────────────┼──────────┼────────────┤ │ /dev │ 30.2G │ 0B │ 30.2G │ │ devtmpfs │ dev │ │ /dev/shm │ 30.3G │ 21.9M │ 30.3G │ [....................] 0.1% │ tmpfs │ tmpfs │ │ /run │ 30.3G │ 2.0M │ 30.3G │ [....................] 0.0% │ tmpfs │ run │ │ /run/credentials/systemd-crypts │ 1.0M │ 0B │ 1.0M │ │ tmpfs │ tmpfs │ │ etup@luks\x2d3a8e1aea\x2d0d01\x │ │ │ │ │ │ │ │ 2d4e45\x2d940f\x2d63af54c3d7f0. │ │ │ │ │ │ │ │ service │ │ │ │ │ │ │ │ /run/credentials/systemd-crypts │ 1.0M │ 0B │ 1.0M │ │ tmpfs │ tmpfs │ │ etup@luks\x2d5336cabc\x2d29f1\x │ │ │ │ │ │ │ │ 2d4af2\x2d8a31\x2ddd411a9a1599. │ │ │ │ │ │ │ │ service │ │ │ │ │ │ │ │ /run/credentials/systemd-journa │ 1.0M │ 0B │ 1.0M │ │ tmpfs │ tmpfs │ │ ld.service │ │ │ │ │ │ │ │ /run/user/1000 │ 6.1G │ 4.4M │ 6.1G │ [....................] 0.1% │ tmpfs │ tmpfs │ │ /sys/firmware/efi/efivars │ 128.0K │ 62.8K │ 60.2K │ [#########...........] 49.1% │ efivarfs │ efivarfs │ │ /tmp │ 30.3G │ 954.6M │ 29.3G │ [....................] 3.1% │ tmpfs │ tmpfs │ ╰─────────────────────────────────┴────────┴────────┴───────┴───────────────────────────────┴──────────┴────────────╯