Backup - script welches man auch in update.sh einbinden kann

Manjaro Linux Tutorials von Usern für User!
Antworten

Themen Author
Amber

Backup - script welches man auch in update.sh einbinden kann

#1

#1 Beitrag von Amber » Montag 22. Mai 2017, 21:40

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:

Code: Alles auswählen

#!/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)

Code: Alles auswählen

# nicht zu sichernde Verzeichnisse / Dateien
/proc/*
/sys/*
/media/*
/home/*
/.snapshots/*
/.subvolume/*
/run/*
/tmp/*
/var/tmp/*
EOF

Antworten