Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- backup_datenhd.sh:
- #!/bin/bash
- #Datum und Uhrzeit werden an den Dateinamen der Logdatei angehängt
- datum=$(date +%d-%m-%y___%H:%M:%S)
- #Das Verzeichnis, das gesichert werden soll
- #z.b. source_path="/home/" oder
- source_path="/home"
- #Verzeichnis für die Log-Datei
- log_path="/var/log/backup_datenhd"
- #Falls log_path nicht existiert, anlegen
- #Sollte das Script als User ausgeführt werden bitte darauf achten,
- #daß für den User Schreibrechte exitieren
- if ! [ -d $log_path ] ; then
- mkdir -p $log_path
- fi
- #dest_path ist das Verzeichnis, wohin gesichert werden soll.
- #Es muss in der fstab dem Laufwerk zugeordnet sein
- #z.b.:
- #LABEL=DatenHD-Back /media/DatenHD-Back ext4 defaults,noauto,users,nofail,rw 0 0
- #in diesem Fall:
- dest_path="/media/DatenHD-Back"
- #ohne / am Ende
- #dest_drive kann entweder LABEL oder die UUID des Laufwerks sein.
- dest_drive="DatenHD-Back"
- #Prüfen, ob das Laufwerk angeschlossen ist:
- drive_connected="$(lsblk -f | grep -i $dest_drive)"
- #Falls das Drive angeschlossen ist, wird es eingehängt,
- #wenn nicht, passiert gar nichts
- if [[ "$drive_connected" == *"$dest_path"* ]]; then
- mount $dest_path
- #Nochmal prüfen, ob das Laufwerk ordentlich eingehängt wurde:
- if grep -i $dest_path /proc/mounts; then
- #wenn ja, rsync ausführen und Ausgabe in Logdatei
- #$source_path und $dest_path noch anpassen, evtl. noch am Ende / einfügen falls nötig
- rsync -avzb $source_path $dest_path --log-file=$log_path/$datum
- #Laufwerk danach wieder unmounten
- umount $dest_path
- else
- #wenn nicht, Error-log anlegen
- echo "Das Laufwerk $dest_drive konnte nicht nach $dest_path eingehängt werden" > $log_path/$datum.FAILED
- fi
- fi
- #Anschliessend eine udev-Regel anegen:
- /etc/udev/rules.d/90-backup_datenhd.rules:
- #Dort folgendes eintragen:
- ACTION=="add", SUBSYSTEMS=="usb", KERNEL=="sd*", RUN+="/bin/bash /pfad/zu/backup_datenhd.sh"
- #dann noch ausführen:
- udevadm control --reload-rules && udevadm trigger
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement