[gelöst] Automatische Datensicherung: Backup-Script mit rsync bei Einstecken einer externen Festplatte

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
Antworten
AxelMD
Beiträge: 1378
Registriert: 15.03.2009 08:02:11

[gelöst] Automatische Datensicherung: Backup-Script mit rsync bei Einstecken einer externen Festplatte

Beitrag von AxelMD » 15.01.2022 14:27:12

Hallo Forum,

leider habe ich vom Scripten keinen Plan.

https://www.bitblokes.de/automatische-d ... estplatte/
Bild

Script von MSfree

pastebin/?mode=view&s=40928

Script Jürgen (jdo)

Code: Alles auswählen

#!/bin/bash
#Juergen Donauer
#http://www.bitblokes.de
#Freeware!
#Benutzung auf eigene Gefahr!


notify_me() {
  ALL_USER="$(users | sort)"
  echo Desktop-Message to: $ALL_USER
        for USER_TMP in $ALL_USER; do
                if [ "$USER_TMP" = "$USER_LAST" ]; then
                        #if user already notified, continue
                        continue
                fi
                su $USER_TMP -c "XAUTHORITY=/home/$USER_TMP/.Xauthority DISPLAY=:0 notify-send $1 $2"
                #save last username to avoid double notification
                USER_LAST=$USER_TMP
        done
}


########## Konfiguration ############
#UUID="1114-2056" #ist durch die eigene UUID zu ersetzen
UUID="1114-2056"
CHECK_DISC="/dev/disk/by-uuid/$UUID"
DATE=`/bin/date +%Y%m%d`
CHECK_DATE_DIR="/root" #Verzeichnis der Datum-Steuerdatei und temporäres Einbinden der Backup-Platte
BACKUP_DIR_MEDIA="backup" #Mounte die Backup-Platte da hin
BACKUP_DIR="$CHECK_DATE_DIR/$BACKUP_DIR_MEDIA" #Backup-Verzeichnis, in dem Fall root der Backup-Platte
DATE_FILE="$CHECK_DATE_DIR/$DATE.date" #Datum-Steuerdatei, ob Backup schon durchgeführt wurde
CHECK_RSYNC=`ps -aef | grep -v grep | grep rsync | wc -l`
CHECK_MOUNT=`df -h | awk '{print $6}' | grep $BACKUP_DIR_MEDIA | wc -l`
SOURCE_DIR="/zu/sicherndes/verzeichnis/"

#####################################

/bin/umount $CHECK_DISC

if [ ! -d $CHECK_DATE_DIR/$BACKUP_DIR_MEDIA ]; then
	/bin/mkdir $CHECK_DATE_DIR/$BACKUP_DIR_MEDIA
fi

if [ $CHECK_RSYNC = 0 ]; then #wenn kein anderer rsync-Prozess läuft, dann leg los
	if [ -e $CHECK_DISC ]; then
		if [ $CHECK_MOUNT = 0 ]; then
			if [ ! -f $DATE_FILE ]; then
				/bin/mount UUID=$UUID $CHECK_DATE_DIR/$BACKUP_DIR_MEDIA
				sleep 5
				rm -f $CHECK_DATE_DIR/*.date
				notify_me "Backup\-Platte\ erkannt" "starte\ Datensicherung\ \(ich\ sag\ es\ Dir,\ wenn\ ich\ fertig\ bin\!\)"
				/usr/bin/rsync -avn --safe-links --delete --ignore-errors $SOURCE_DIR $BACKUP_DIR #macht nur einen Testlauf. Für den Ernstfall -avn zu -av ändern
				/bin/sync
				/usr/bin/touch $DATE_FILE
				/bin/umount /dev/disk/by-uuid/$UUID
			else
				notify_me "Backup\ heute\ schon\ durchgefuehrt" "Du\ kannst\ die\ Festplatte\ nun\ abstecken"
			fi
		fi
	fi
fi
Der Author schreibt dazu:
Hinweis: notify-send funktioniert mit GNOME. Unter KDE sollte sich das mittels kdialog lösen lassen.
Wie muss ich das Script umbauen damit es mit KDE funktioniert?

Wie ich eine udev-Regel für mein System einrichte ist mir auch noch nicht wirklich klar.

Im Blog aus dem Jahr 2012 steht so einiges dazu.
Zuletzt geändert von AxelMD am 18.01.2022 13:58:43, insgesamt 1-mal geändert.

Benutzeravatar
Blackbox
Beiträge: 4289
Registriert: 17.09.2008 17:01:20
Lizenz eigener Beiträge: GNU Free Documentation License

Re: Automatische Datensicherung: Backup-Script mit rsync bei Einstecken einer externen Festplatte

Beitrag von Blackbox » 16.01.2022 19:56:04

Es gäbe weitere Möglichkeiten die Benachrichtigungen (notifocation) auszulösen bzw. darzustellen.

Einen guten Überblick gibt der Arch Linux Wikiartikel [0] zu diesem Thema.

[0] https://wiki.archlinux.org/title/Deskto ... on_servers

Es sollte doch möglich sein, die Benachrichtigungen unabhängig vom DE/WM realisiert zu bekommen.
Eigenbau PC: Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Desktop PC: Dell Inspiron 530 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Notebook: TUXEDO BU1406 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Alles Minimalinstallationen und ohne sudo/PA/PW.
Rootserver: Rocky Linux 9.3 - Kernel: 5.14

Freie Software unterstützen, Grundrechte stärken!

AxelMD
Beiträge: 1378
Registriert: 15.03.2009 08:02:11

Re: Automatische Datensicherung: Backup-Script mit rsync bei Einstecken einer externen Festplatte

Beitrag von AxelMD » 16.01.2022 20:05:45

Es sollte doch möglich sein, die Benachrichtigungen unabhängig vom DE/WM realisiert zu bekomme
Das wäre natürlich der Hammer, dann mit dem Script von MSfree. :-)
Mein Traum, so etwas wünsche seit einem Jahrzehnt.

Nur wenn ich, mit meinem Kenntnisstand damit anfange, wird das vermutlich ein Albtraum-Horrorthread.

Seit dem 16.11.2021 bastel ich an einer für mich zufriedenstellenden Lösung.

Der grobe Weg ist mir klar.

Benutzeravatar
Blackbox
Beiträge: 4289
Registriert: 17.09.2008 17:01:20
Lizenz eigener Beiträge: GNU Free Documentation License

Re: Automatische Datensicherung: Backup-Script mit rsync bei Einstecken einer externen Festplatte

Beitrag von Blackbox » 16.01.2022 21:35:32

AxelMD hat geschrieben: ↑ zum Beitrag ↑
16.01.2022 20:05:45
Seit dem 16.11.2021 bastel ich an einer für mich zufriedenstellenden Lösung.
Dann lass mal sehen, was du bisher hast!
AxelMD hat geschrieben: ↑ zum Beitrag ↑
16.01.2022 20:05:45
Der grobe Weg ist mir klar.
Wo hängt es bzw. welche Hilfe benötigst du noch?
Eigenbau PC: Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Desktop PC: Dell Inspiron 530 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Notebook: TUXEDO BU1406 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Alles Minimalinstallationen und ohne sudo/PA/PW.
Rootserver: Rocky Linux 9.3 - Kernel: 5.14

Freie Software unterstützen, Grundrechte stärken!

AxelMD
Beiträge: 1378
Registriert: 15.03.2009 08:02:11

Re: Automatische Datensicherung: Backup-Script mit rsync bei Einstecken einer externen Festplatte

Beitrag von AxelMD » 17.01.2022 10:05:09

Benötige ich zwei Script oder sollte man nur ein Script zu verwenden?

- Script-1 für die udev Funktionalität, das ruft Script 2
- Script-2 um ein bestimmtes Script auszuführen

Oder besser nur ein Script wo beides integriert ist?

AxelMD
Beiträge: 1378
Registriert: 15.03.2009 08:02:11

Re: Automatische Datensicherung: Backup-Script mit rsync bei Einstecken einer externen Festplatte

Beitrag von AxelMD » 17.01.2022 13:50:05

uname sagt dazu:
Etwas offtopic:

Ich habe jetzt nicht alles gelesen. Aber vor Jahren habe ich auch mal ein Script geschrieben.
Du musst es bestimmt nicht verwenden. Aber vielleicht enthält es ja noch ein paar interessante Ansätze:
https://wiki.ubuntuusers.de/Skripte/Backup_mit_RSYNC
@uname
Welches Script meinst Du von dir?

MSfree sagt dazu:
Nur soviel:
Man sollte bei der "Anleitung", die du unter Bitblokes gefunden hast, auch mal auf das Datum schauen. Leider fehlt solchen Blogs oft das Veröffentlichungsdatum, aber die Kommentare weiter unten sind 10 Jahre alt. Mittlerweile wurde Debian auf systemd umgestellt, und da funktioniert die 10 Jahre alte Methode möglicherweise nicht mehr so, wie beschrieben.
Nach oben
Was ist mit meinen Fragen zuvor?

Grundprinzip: UUID wird erkannt, wird gemountet, Script wird ausgeführt, HDD wird unmountet.

uname
Beiträge: 12072
Registriert: 03.06.2008 09:33:02

Re: Automatische Datensicherung: Backup-Script mit rsync bei Einstecken einer externen Festplatte

Beitrag von uname » 17.01.2022 14:26:47

AxelMD hat geschrieben:Welches Script meinst Du von dir?
Es sind dort nur unterschiedliche Versionen.
Die vollständige Version ist dort, wo steht: "Das Skript" -> "Vergrößern".
Es ist aktuell 106 Zeilen lang.

Zu meiner Schande muss ich gestehen, dass ich seit Ewigkeiten damit kein Backup mehr gemacht habe.
Eigentlich mache ich gar keine Backps mehr. ;-) Höchstens kopiere ich manuell Bilder in meine Nextclouds. ;-)
Und das mit der Mount-Funktion weiß ich auch nicht mehr genau.

Wenn ich aber den Quellcode so anschaue, dann schaut die Software, ob der gewünschte Ordner z. B. /media/daten ein Mountpoint ist und gemountet ist. Wenn ja, dann wird gebackupt und wenn nicht, dann eben nicht. Nun müsste nur noch beim Anstecken des Sticks automatisch gemountet werden und das Script müsste entweder per Cron nach Zeit oder nach irgendwelchen Ereignissen laufen.

Vielleicht können MSfree und du das ja verwerten.
Ich mache im übrigen - wenn ich schon Backpus mache - diese mit Verstand.
Ein Backup machen zu lassen wenn etwas irgendwo angesteckt wird, ist meiner Meinung nach der falsche Ansatz.

AxelMD
Beiträge: 1378
Registriert: 15.03.2009 08:02:11

Re: Automatische Datensicherung: Backup-Script mit rsync bei Einstecken einer externen Festplatte

Beitrag von AxelMD » 17.01.2022 14:35:36

Zu meiner Schande muss ich gestehen, dass ich seit Ewigkeiten damit kein Backup mehr gemacht habe.
Das ist natürlich der richtige Ansatz, ich verstehe. :-)

Ich möchte ab und zu, vielleicht auch nur wöchentlich meine USB HDD anstöpseln, dann geht es los mit dem Backup. Bisher mache ich das mit rdiff-backup, das Script von MSfree mit rsync ist erheblich schneller.
nach irgendwelchen Ereignissen laufen
Ereignis das erkennen der UUID von usbhdd1.
Dann geht die Post ab, nur bin ich noch ohne "Briefmarke".

uname
Beiträge: 12072
Registriert: 03.06.2008 09:33:02

Re: Automatische Datensicherung: Backup-Script mit rsync bei Einstecken einer externen Festplatte

Beitrag von uname » 17.01.2022 14:58:00

AxelMD hat geschrieben:Ich möchte ab und zu, vielleicht auch nur wöchentlich meine USB HDD anstöpseln, dann geht es los mit dem Backup.
AxelMD hat geschrieben:Ereignis das erkennen der UUID von usbhdd1.
Dann geht die Post ab, nur bin ich noch ohne "Briefmarke".
Ich habe angestöpselt und dann manuell das Backup gestartet z. B. mit /root/backup.sh
Das solltest du auch jetzt schon können.

Vielleicht musst du in diese Richtung suchen.
https://unix.stackexchange.com/question ... usb-device
Die UUID müsstest du dann vielleicht noch mit einer If-Abfrage überprüfen.

AxelMD
Beiträge: 1378
Registriert: 15.03.2009 08:02:11

Re: Automatische Datensicherung: Backup-Script mit rsync bei Einstecken einer externen Festplatte

Beitrag von AxelMD » 18.01.2022 09:38:38

Mein Vorhaben "automatisch" werde ich überdenken / vorläufig beenden
- USBATTACK
- mehr Komplexität (Fehleranfälligkeit)
- meine Vergesslichkeit, ich vergesse oftmals was ich durch "Klicks" erledige

Manches sollte man von Hand ausführen.
- Besser ist es die Basic rsync-Befehle zu kennen.

- Die HDD kann so besser für die Abspeicherung von eine zusätzliches full-HDD-System-image genutzt werden.

- Meine bisherige rdiff-backup Lösung kann ich parallel weiter nutzen.
viewtopic.php?t=183286

Warum haben viele mit der Idee, den Projekten angefangen, diese sind dann doch nicht dauerhaft?

Stand: 18. Januar 2022
Vorerst werde ich beim manuellen Betrieb bleiben.
So richtig bewußt die Updates machen.

Antworten