Autor Thema: Backup - script welches man auch in update.sh einbinden kann  (Gelesen 358 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Amber

  • Forum Gott
  • ****
  • Beiträge: 276
  • Dankeschön: 24 mal
  • CPU: i7
  • GPU: HD4000 / GeForce670m
  • Kernel: 4.9. LTS & 4er
  • DE: Plasma 5
  • GPU Treiber: nvidia / intel
Moin,

hier nun ein script welches man in mein update.sh script einbinden kann.
Es wird geprüft ob das Medium eingehängt ist und startet dann das Backup vom System. In der .exclude-liste Datei wird bestimmt was gesichert wird. Diese Datei habe ich auch auf die Backup-Platte gelegt, kann aber angepasst werden.

Das Backup arbeitet mit Hard-Links und ist somit Platz sparend. Legt man das Backup auf die interne Platte kann man dieses Backup einbinden für ein
Notfall Systemstart. Da sollte man nur die kernel nochmals kopieren und umbennenen und den Bootloader anpassen. Siehe mein update - script.

Die Option --delete habe ich bewußt nicht integriert und --progress kann entfernt werde, wer nicht möchte das alles gelistet wird.

Die Variablen quelle, ziel und medium müssen entsprechend angepasst werden. Hier ist als Beispiel das Root-System, eine USB - Platte wo das Verzeichniss system vorhanden ist und das medium /media/Backup angegeben. Wobei medium abgefragt wird und bestimmt ob das Backup läuft.

Das ganze kann man für /home nochmal schreiben oder in diesem Sript mitsichern lassen. So wie man möchte.

Der Script backup-root.sh:
#!/bin/sh

quelle=/
ziel=/media/Backup/system/
medium=/media/Backup
datum=$(date +%d-%m-%Y-%H%M%S)
hosts=$(hostname | tail)
excludes=${ziel}.exclude-liste

if [[ -d "$medium" ]]; then
        echo "Backup- HDD ist eingehängt"
        cd /
        rsync -avlR --progress --exclude-from="$excludes" "${quelle}"  "${ziel}$hosts-${datum}/" --link-dest="${ziel}last/"
        ln -nsf "${ziel}$hosts-${datum}" "${ziel}last"
        sync
        exit 0
  else
        echo "Kein Medium eingehängt, Backup beendet"
fi
exit 0


Bei der .exclude-list ist das * hinter dem Verzeichnissnamen, es sorgt dafür das dieses Verzeichniss gesichert wird aber nicht der Inhalt. Somit bleibt die Root - Struktur erhalten!

die .exclude-liste Datei: (Nur ein Beispiel)
# nicht zu sichernde Verzeichnisse / Dateien
/proc/*
/sys/*
/media/*
/home/*
/.snapshots/*
/.subvolume/*
/run/*
/tmp/*
/var/tmp/*
EOF
Mit freundlichen Grüßen
            Amber
 
Folgende Mitglieder bedankten sich: manjarofan