Automatisch Daten kopieren auf USB nach einstecken

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Mueller.D
User
Beiträge: 33
Registriert: Freitag 13. Januar 2017, 10:04

Mittwoch 23. Mai 2018, 18:47

Hallo Leute,

ich hab aktuell ein kleines Projekt.
Kurz gesagt mach ich eine Art Wild Kamera mit dem Rasp Pi.

Die Bilder die gemacht werden, werden in Bilder abgespeichert.

Szenario:
Ich will zur Kamera hin laufen, einen USB reinstecken, eine rauchen und dann denn USB Stick wieder entfernen.
In der Zeit, in der ich eine rauche, sollen die Daten von Bilder automatisch nach dem einstecken auf den USB kopiert werden.
Nach dem Kopieren, sollen die Daten wieder auf dem Rasp Pi gelöscht werden, damit wieder Speicher darauf ist.
Der Ordner in der die Bilder sind ist immer der Selbe und der USB ist auch immer der Gleiche.

Wer hat einen Plan? Ich bin offen für "fast" alles :D.
Benutzeravatar
noisefloor
User
Beiträge: 2525
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: Görgeshausen
Kontaktdaten:

Mittwoch 23. Mai 2018, 19:41

Hallo,

das Stichwort heißt: udev-Regel. Damit kannst du eine Aktion auf dem Pi (davon ausgehend, dass darauf ein Linux läuft) auslösen - wie den Start eines Skripts - wenn der USB-Stick eingesteckt wird.

Das Abziehen ohne richtiges Aushängen ist riskant, weil Linux standardmäßig einen Schreibpuffer im RAM verwendet. Um sicher zu gehen, dass alles direkt geschrieben wird, solltest du diesen Puffer deaktivieren.

Des Weiteren solltest du, solange dein Skript läuft, eine LED oder so leuchten lassen, damit du weißt, dass dein Skript läuft. Sonst könnte es ja sein, wenn du schnell rauchst oder gar vernünftigerweise mal zum Nichtraucher wirst, du den Stick abziehst, wenn dein Skript noch kopiert.

Gruß, noisefloor
narpfel
User
Beiträge: 245
Registriert: Freitag 20. Oktober 2017, 16:10

Mittwoch 23. Mai 2018, 20:09

Eventuell macht es auch Sinn, am Ende des Kopiervorgangs ein `umount` einzubauen, um sicherzustellen, dass alles richtig geschrieben wurde.
Benutzeravatar
noisefloor
User
Beiträge: 2525
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: Görgeshausen
Kontaktdaten:

Donnerstag 24. Mai 2018, 10:03

Hallo,

... oder den `sync` Befehl im Linux-Terminal aufzurufen (was bei `umount` wohl automatisch passiert). Das Restrisiko ist aber nachwievor, dass das Synchronisieren der Daten dann X Sekunden dauert und man während dessen den Stick ab zieht.

Gruß, noisefloor
narpfel
User
Beiträge: 245
Registriert: Freitag 20. Oktober 2017, 16:10

Donnerstag 24. Mai 2018, 19:21

Dafür leuchtet die LED ja weiter, während das `umount` läuft. 😉
Mueller.D
User
Beiträge: 33
Registriert: Freitag 13. Januar 2017, 10:04

Sonntag 27. Mai 2018, 10:19

Danke für eure Hilfe, das mit der UDEV Regel hat mir geholfen.
Antworten