Skip to content

Datensicherung zwischen zwei Server

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

  • 0 Stimmen
    1 Beiträge
    5 Aufrufe
    Niemand hat geantwortet
  • Restic v0.16.5 released

    Restic restic linux
    1
    0 Stimmen
    1 Beiträge
    171 Aufrufe
    Niemand hat geantwortet
  • Open Source Software - Nur mit Luft & Liebe läuft es auch nicht rund

    Linux linux kde
    1
    0 Stimmen
    1 Beiträge
    169 Aufrufe
    Niemand hat geantwortet
  • Ubiquiti ER-X - iperf

    Verschoben OpenWRT & Ubiquiti ER-X openwrt linux er-x
    2
    1
    0 Stimmen
    2 Beiträge
    359 Aufrufe
    FrankMF
    Hier noch ein Test von DMZ / LAN und andersrum. frank@frank-MS-7C37:~$ iperf3 -c 192.168.5.15 Connecting to host 192.168.5.15, port 5201 [ 5] local 192.168.3.213 port 44052 connected to 192.168.5.15 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 114 MBytes 952 Mbits/sec 314 153 KBytes [ 5] 1.00-2.00 sec 112 MBytes 937 Mbits/sec 259 205 KBytes [ 5] 2.00-3.00 sec 111 MBytes 929 Mbits/sec 210 212 KBytes [ 5] 3.00-4.00 sec 111 MBytes 934 Mbits/sec 235 202 KBytes [ 5] 4.00-5.00 sec 112 MBytes 936 Mbits/sec 263 153 KBytes [ 5] 5.00-6.00 sec 111 MBytes 935 Mbits/sec 255 209 KBytes [ 5] 6.00-7.00 sec 112 MBytes 937 Mbits/sec 313 129 KBytes [ 5] 7.00-8.00 sec 111 MBytes 932 Mbits/sec 296 209 KBytes [ 5] 8.00-9.00 sec 111 MBytes 934 Mbits/sec 258 208 KBytes [ 5] 9.00-10.00 sec 111 MBytes 934 Mbits/sec 292 201 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 1.09 GBytes 936 Mbits/sec 2695 sender [ 5] 0.00-10.00 sec 1.09 GBytes 935 Mbits/sec receiver iperf Done. frank@frank-MS-7C37:~$ iperf3 -R -c 192.168.5.15 Connecting to host 192.168.5.15, port 5201 Reverse mode, remote host 192.168.5.15 is sending [ 5] local 192.168.3.213 port 44058 connected to 192.168.5.15 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-1.00 sec 109 MBytes 911 Mbits/sec [ 5] 1.00-2.00 sec 109 MBytes 912 Mbits/sec [ 5] 2.00-3.00 sec 109 MBytes 912 Mbits/sec [ 5] 3.00-4.00 sec 109 MBytes 912 Mbits/sec [ 5] 4.00-5.00 sec 109 MBytes 912 Mbits/sec [ 5] 5.00-6.00 sec 108 MBytes 903 Mbits/sec [ 5] 6.00-7.00 sec 109 MBytes 912 Mbits/sec [ 5] 7.00-8.00 sec 109 MBytes 912 Mbits/sec [ 5] 8.00-9.00 sec 109 MBytes 912 Mbits/sec [ 5] 9.00-10.00 sec 109 MBytes 912 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 1.06 GBytes 913 Mbits/sec 114 sender [ 5] 0.00-10.00 sec 1.06 GBytes 911 Mbits/sec receiver iperf Done.
  • LUKS verschlüsselte Platte mounten

    Linux linux
    2
    1
    0 Stimmen
    2 Beiträge
    1k Aufrufe
    FrankMF
    So, jetzt das ganze noch einen Ticken komplizierter Ich habe ja heute, für eine Neuinstallation von Ubuntu 20.04 Focal eine zweite NVMe SSD eingebaut. Meinen Bericht zu dem Thema findet ihr hier. Aber, darum soll es jetzt hier nicht gehen. Wir haben jetzt zwei verschlüsselte Ubuntu NVMe SSD Riegel im System. Jetzt klappt die ganze Sache da oben nicht mehr. Es kommt immer einen Fehlermeldung. unbekannter Dateisystemtyp „LVM2_member“. Ok, kurz googlen und dann findet man heraus, das es nicht klappen kann, weil beide LVM Gruppen, den selben Namen benutzen. root@frank-MS-7C37:/mnt/crypthome/root# vgdisplay --- Volume group --- VG Name vgubuntu2 System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 4 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 1 Max PV 0 Cur PV 1 Act PV 1 VG Size <464,53 GiB PE Size 4,00 MiB Total PE 118919 Alloc PE / Size 118919 / <464,53 GiB Free PE / Size 0 / 0 VG UUID lpZxyv-cNOS-ld2L-XgvG-QILa-caHS-AaIC3A --- Volume group --- VG Name vgubuntu System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 3 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 2 Max PV 0 Cur PV 1 Act PV 1 VG Size <475,71 GiB PE Size 4,00 MiB Total PE 121781 Alloc PE / Size 121781 / <475,71 GiB Free PE / Size 0 / 0 VG UUID jRYTXL-zjpY-lYr6-KODT-u0LJ-9fYf-YVDna7 Hier oben sieht man das schon mit geändertem Namen. Der VG Name muss unterschiedlich sein. Auch dafür gibt es ein Tool. root@frank-MS-7C37:/mnt/crypthome/root# vgrename --help vgrename - Rename a volume group Rename a VG. vgrename VG VG_new [ COMMON_OPTIONS ] Rename a VG by specifying the VG UUID. vgrename String VG_new [ COMMON_OPTIONS ] Common options for command: [ -A|--autobackup y|n ] [ -f|--force ] [ --reportformat basic|json ] Common options for lvm: [ -d|--debug ] [ -h|--help ] [ -q|--quiet ] [ -v|--verbose ] [ -y|--yes ] [ -t|--test ] [ --commandprofile String ] [ --config String ] [ --driverloaded y|n ] [ --nolocking ] [ --lockopt String ] [ --longhelp ] [ --profile String ] [ --version ] Use --longhelp to show all options and advanced commands. Das muss dann so aussehen! vgrename lpZxyv-cNOS-ld2L-XgvG-QILa-caHS-AaIC3A vgubuntu2 ACHTUNG Es kann zu Datenverlust kommen, also wie immer, Hirn einschalten! Ich weiß, das die erste eingebaute Platte mit der Nummer /dev/nvme0n1 geführt wird. Die zweite, heute verbaute, hört dann auf den Namen /dev/nvme1n1. Die darf ich nicht anpacken, weil sonst das System nicht mehr startet. /etc/fstab # /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # <file system> <mount point> <type> <options> <dump> <pass> /dev/mapper/vgubuntu-root / ext4 errors=remount-ro 0 1 # /boot was on /dev/nvme1n1p2 during installation UUID=178c7e51-a1d7-4ead-bbdf-a956eb7b754f /boot ext4 defaults 0 2 # /boot/efi was on /dev/nvme0n1p1 during installation UUID=7416-4553 /boot/efi vfat umask=0077 0 1 /dev/mapper/vgubuntu-swap_1 none swap sw 0 0 Jo, wenn jetzt die Partition /dev/mapper/vgubuntu2-root / anstatt /dev/mapper/vgubuntu-root / heißt läuft nichts mehr. Nur um das zu verdeutlichen, auch das könnte man problemlos reparieren. Aber, ich möchte nur warnen!! Nachdem die Änderung durchgeführt wurde, habe ich den Rechner neugestartet. Puuh, Glück gehabt, richtige NVMe SSD erwischt Festplatte /dev/mapper/vgubuntu2-root: 463,58 GiB, 497754832896 Bytes, 972177408 Sektoren Einheiten: Sektoren von 1 * 512 = 512 Bytes Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes Nun können wir die Platte ganz normal, wie oben beschrieben, mounten. Nun kann ich noch ein paar Dinge kopieren
  • ReactPHP auf einem ROCKPro64 testen

    Linux reactphp linux composer
    1
    1
    0 Stimmen
    1 Beiträge
    217 Aufrufe
    Niemand hat geantwortet
  • Debian Buster 10.1 released

    Linux debian linux
    1
    0 Stimmen
    1 Beiträge
    308 Aufrufe
    Niemand hat geantwortet
  • Upgrade auf NodeBB 1.11.0

    NodeBB nodebb linux
    1
    1
    0 Stimmen
    1 Beiträge
    415 Aufrufe
    Niemand hat geantwortet