Hallo Freunde,
wie die Überschrit schon sagt bin ich dabei ein kleines sh Script zu schreiben was mir z.b. meinen Filme Ordner 1x in der Stunde überprüft ob neue Dateien dazugekommen sind und wenn da neue Dateien dazugekommen sind brauche ich den Pfad und Dateinamen als Variable zurück.
ist das möglich?
mir würden spontan zwei Ansätze einfallen:
1. das Script Prüft wie alt das Erstellungsdatum ist, dazu müsste vielleicht das letzte Prüfdatum in einer Tempdatei gespeichert werden,
wenn dann eine Datei neuer ist als das letzte Prüfdatum und Zeit, dann wird Dateiname und Pfad der neuen Datei in jeweils einer variable gespeichert
oder
2. den gesamten Inhalt in Textform vom Ordner Filme + Unterordner mit Pfad und Dateinamen in einer txt speichern und beim nächsten mal die Textdatei mit dem Aktuellen Inhalt abgleichen, wenn dann eine Datei neuer ist als das letzte Prüfdatum und Zeit, dann wird Dateiname und Pfad der neuen Datei in jeweils einer variable gespeichert
welche Methode wäre am sinnvollsten und hat jemand eine Idee wie ich das sinnvoll programmieren kann in *.sh. ich bin leider nicht so sehr gut im Programmieren verstehe aber viel und es wäre echt super wenn mir da jemand helfen kann.
danke schon mal
Script zum regelmäßigen erkennen neuer Dateien in einem Ordner mit Unterordnern
-
- Beiträge: 9
- Registriert: 19.04.2018 21:14:35
Re: Script zum regelmäßigen erkennen neuer Dateien in einem Ordner mit Unterordnern
Sollte mit "find" einfacher machbar sein.
Re: Script zum regelmäßigen erkennen neuer Dateien in einem Ordner mit Unterordnern
Wirf mal einen Blick auf die inotify-tools.
Damit kannst Du auf Ereignisse im Dateisystem warten.
Damit kannst Du auf Ereignisse im Dateisystem warten.
Die Vernunft kann einem schon leidtun. Sie verliert eigentlich immer.
Re: Script zum regelmäßigen erkennen neuer Dateien in einem Ordner mit Unterordnern
Ich mag noch incrontab aus incron ins Rennen schicken, es folgen zwei lesenswerte Posts zum Thema:
-
- Beiträge: 9
- Registriert: 19.04.2018 21:14:35
Re: Script zum regelmäßigen erkennen neuer Dateien in einem Ordner mit Unterordnern
hallo,
ich bin sehr begeistert von eurer Hilfe,vielen dank für die zahlreichen Antworten und Entschuldigung für meine späte Antwort.
nach einigem umschauen, habe ich einen guten Weg dank euch gefunden.
mein Befehl sieht nun etwa so aus
die Ausgabe ist schon sehr gut und mit der Option -d läuft das dann auch im Hintergrund.
Wenn eine neue mp4 Datei angelegt wird, wird auch eine *.part Datei mit angelegt diese wird mir auch mit ausgegeben, das konnte ich mit ausfiltern.
was aber wenn andere Endungen als Part Dateien angelegt werden die nicht "*.part" heißen sondern z.b. "*.tmp" oder so.
sinnvoller wäre hier eine direkte Filterung nach nur: mp4, avi, flv oder auch mp3, jpg usw.
wäre das möglich?
und dann kommt das interessante. wie kann ich die Ausgabe in z.b. zwei variablen packen
einmal der Pfad und einmal der Dateiname
die Ausgabe die zurzeit so aus
sollte dann so sein:
var1:
in var1 sollte dann aber nicht "/home/flex/server/3TBall/server3TB/FILME/0 Serien/serie1/" stehen sondern z.b.: "//serverip/FILME/0 Serien/serie1/"
#"serverip" ist Fix im Netzwerk, der zugriff so, wie eine Zeile darüber funktioniert dann auch.
var1: /FILME/0 Serien/serie1/
var2: Serienname.S01E01.Folgentitel.mp4
der Hintergrund ist dann, hier eine Nachricht mittels "Telegram" App per BotFather an die Gruppe zu senden mit Pfad und Name des Titels.
keine sorge das ist mein internes Netzwerk wo nur Familienmitglieder drauf Zugriff haben und hier liegen auch nur legale Kopien.
ansonsten sieht die ganze Sache schon sehr gut aus.
vielen dank euch allen nochmal dafür
ich bin sehr begeistert von eurer Hilfe,vielen dank für die zahlreichen Antworten und Entschuldigung für meine späte Antwort.
nach einigem umschauen, habe ich einen guten Weg dank euch gefunden.
mein Befehl sieht nun etwa so aus
Code: Alles auswählen
inotifywait -m /home/flex/server/3TBall/server3TB/FILME -r --fromfile mp4 -e create
Wenn eine neue mp4 Datei angelegt wird, wird auch eine *.part Datei mit angelegt diese wird mir auch mit ausgegeben, das konnte ich mit
Code: Alles auswählen
--excludei part
Code: Alles auswählen
inotifywait --excludei part -m /home/flex/server/3TBall/server3TB/FILME -r -e create
sinnvoller wäre hier eine direkte Filterung nach nur: mp4, avi, flv oder auch mp3, jpg usw.
wäre das möglich?
und dann kommt das interessante. wie kann ich die Ausgabe in z.b. zwei variablen packen
einmal der Pfad und einmal der Dateiname
die Ausgabe die zurzeit so aus
Code: Alles auswählen
"/home/flex/server/3TBall/server3TB/FILME/0 Serien/serie1/ CREATE Serienname.S01E01.Folgentitel.mp4"
var1:
in var1 sollte dann aber nicht "/home/flex/server/3TBall/server3TB/FILME/0 Serien/serie1/" stehen sondern z.b.: "//serverip/FILME/0 Serien/serie1/"
#"serverip" ist Fix im Netzwerk, der zugriff so, wie eine Zeile darüber funktioniert dann auch.
var1: /FILME/0 Serien/serie1/
var2: Serienname.S01E01.Folgentitel.mp4
der Hintergrund ist dann, hier eine Nachricht mittels "Telegram" App per BotFather an die Gruppe zu senden mit Pfad und Name des Titels.
keine sorge das ist mein internes Netzwerk wo nur Familienmitglieder drauf Zugriff haben und hier liegen auch nur legale Kopien.
ansonsten sieht die ganze Sache schon sehr gut aus.
vielen dank euch allen nochmal dafür