Not logged in. · Lost password · Register

MathematikBachelor
Member since Feb 2020
14 posts
Subject: Automatisches Backup mit udev bei Anschluss von externer Festplatte
Hey Leute,

ich probiere schon seit Stunden meinen Backup-Prozess zu automatisieren, sodass er selbst startet, sobald ich meine externe Festplatte anschließe. Das würde ich gerne per „udev“ realisieren (ohne genau zu wissen, was es ist). Dazu folgte ich folgender Anleitung: https://wiki.ubuntuusers.de/udev/#udev-Regel-schreiben-und….

Meine Regel:
KERNEL=="sd?1", SUBSYSTEMS=="usb", ATTRS{serial}=="2017112315035", ATTRS{idProduct}=="0579", ATTRS{idVendor}=="152d", ACTION=="add", RUN+="/home/philipp/Backup/udevTest.sh"
Die ATTRS-Daten stimmen, da das Skript prinzipiell ausgeführt wird – genau dort liegt auch mein Problem.

Das auszuführende Skript „udevTest.sh“:
#!/bin/bash
# /home/philipp/Backup/backup-skript
cp /home/philipp/Backup/test.txt /media/philipp/BACKUP-FESTPLATTE/
touch /home/philipp/Schreibtisch/udevTest.txt # dient lediglich zur Kontrolle, ob Skript ausgeführt wurde

Mein Problem: der „cp“-Befehl wird ignoriert, die Dummy-Datei aber angelegt. Starte ich das Skript manuell, wird die Test-Datei auf meine externe Festplatte kopiert.

Außerdem:
Die auskommentierte Zeile startet ein weiteres Skript, das das Backup anlegt. Entferne ich den Kommentar geschieht wie bei „cp“ gar Nichts, per Kommandozeilenausführung nimmt alles seinen gewohnten Lauf.

Wenn ihr wisst, was ich falsch mache, lasst es mich bitte wissen!
Beste Grüße und bis dann
Philipp
Ich habe keinen Bachelor in Informatik studiere es aber im Master und bitte deswegen um Verständnis, sollte meine Fragen und Beiträgen fachlich nicht denen eines klassischen Master-Studenten entsprechen.
Ford Prefect
Pangalaktischer- Donnergurgler-Trinker
(Administrator)
Avatar
Member since Oct 2002
3294 posts
Mir erscheint es als ob deine Aktion schlicht zu früh erfolgt: Wahrscheinlich ist zum Zeitpunkt der Scriptausführung /media/philipp/BACKUP-FESTPLATTE/ noch nicht wirklich verfügbar. Die UDEV-Regel greift schließlich sofort wenn das Gerät angeschlossen wird. Eingehängt (unter /media/philipp) wird es aber erst später.

Die Empfehlung wäre, dass das Script genau darauf wartet.
Quote: <mute> mit Miranda macht irc kein spass :P <Loki|muh> dann geh doch wieder :)
<mute> ich benutze kein miranda <Loki|muh> na und? :)
MathematikBachelor
Member since Feb 2020
14 posts
Wenn ich ein „sleep 10“ vor das „cp“ einbaue, ändert das Nichts. Meiner Beobachtung nach, wird erst das Skript ausgeführt und dann die Festplatte eingehängt, weil es 10s dauert bis mir die Festplatte in Dateiexplorer angezeigt wird.
Des Weiteren passiert Nichts, wenn ich eine Abfrage nach dem Verzeichnis dem Skript voranstelle:
DIRECTORY='/media/philipp/BACKUP-FESTPLATTE/'
while [ ! -d "$DIRECTORY" ]; do
    sleep 5
done

Ansonsten weiß ich nicht, wie ich auf das Einhängen warten kann.
Ich habe keinen Bachelor in Informatik studiere es aber im Master und bitte deswegen um Verständnis, sollte meine Fragen und Beiträgen fachlich nicht denen eines klassischen Master-Studenten entsprechen.
This post was edited 2 times, last on 2021-03-04, 11:16 by MathematikBachelor.
Ford Prefect
Pangalaktischer- Donnergurgler-Trinker
(Administrator)
Avatar
Member since Oct 2002
3294 posts
In einer UDEV-Regel darfst du tatsächlich nicht warten. Diese werden seriell nacheinander ausgeführt und währenddessen ist das entspr. Gerät blockiert.

Was ich eigentlich ausdrücken wollte ist der Vorschlag, nicht auf den Anschluss der Festplatte sondern auf deren Einhängung zu reagieren.

Hier ist ein Beispiel wie jemand (mit etwas Hilfe, einfach im Thread weiterlesen) genau dieses Problem mittels Systemd löst: https://bbs.archlinux.org/viewtopic.php?id=207050 Dazu der Hinweis, dass Systemd units nicht nur im System-, sondern auch im Nutzerkontext installiert werden können. Auch das wird in dem Thread gezeigt.
Quote: <mute> mit Miranda macht irc kein spass :P <Loki|muh> dann geh doch wieder :)
<mute> ich benutze kein miranda <Loki|muh> na und? :)
MathematikBachelor
Member since Feb 2020
14 posts
Den Thread finde ich ziemlich technisch bzw. übersteigt er meine Linux-Kenntnisse  :-/

Ich werde es mal per Anacron probieren und in einem Skript abfragen, ob das Verzeichnis existiert.

Vielen Dank für deine Ratschläge! :)
Ich habe keinen Bachelor in Informatik studiere es aber im Master und bitte deswegen um Verständnis, sollte meine Fragen und Beiträgen fachlich nicht denen eines klassischen Master-Studenten entsprechen.
Ford Prefect
Pangalaktischer- Donnergurgler-Trinker
(Administrator)
Avatar
Member since Oct 2002
3294 posts
Ja, wenn es ganz trivial wäre hätte ich es auch gleich direkt hierhin übernommen.
Quote: <mute> mit Miranda macht irc kein spass :P <Loki|muh> dann geh doch wieder :)
<mute> ich benutze kein miranda <Loki|muh> na und? :)
MathematikBachelor
Member since Feb 2020
14 posts
Ich konnte den Prozess soweit mit anachron erfolgreich aufziehen. Eine regelmäßige Abfrage, ob die externe Festplatte angeschlossen ist, stellt zwar nicht die eleganteste Lösung dar aber sie funktioniert :D
Ich habe keinen Bachelor in Informatik studiere es aber im Master und bitte deswegen um Verständnis, sollte meine Fragen und Beiträgen fachlich nicht denen eines klassischen Master-Studenten entsprechen.
Close Smaller – Larger + Reply to this post:
Verification code: VeriCode Please enter the word from the image into the text field below. (Type the letters only, lower case is okay.)
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Special characters:
Go to forum
Datenschutz | Kontakt
Powered by the Unclassified NewsBoard software, 20150713-dev, © 2003-2011 by Yves Goergen