Welcome, Guest. Please login or register.
Did you miss your activation email?

Author Topic: [DE] Spezielles Programm oder script  (Read 2044 times)

Offline knorki

  • User
  • Posts: 74
[DE] Spezielles Programm oder script
« on: 2023/01/19, 08:41:08 »
Hallo,
ich suche ein Programm oder script das folgende Aktion durchführen kann:
sobald ich eine Datei erstellt habe soll das System dies erkennen und diese Datei z.B. kopieren, verschieben, löschen oder umbenennen können.

 Wie oder mit welchem Programm kann ich dies realisieren?
 

Offline edlin

  • User
  • Posts: 535
Re: Spezielles Programm oder script
« Reply #1 on: 2023/01/19, 15:57:40 »
Kannst du dem umfangreichen Lastenheft noch ein paar weitere Infos spendieren?
Gehe ich recht in der Annahme, dass es sich nur um Dateien, egal welchen Typs, handelt, die du in einigen wenigen Verzeichnissen ablegst?
Muss nach dem Speichern der Datei sofort agiert werden, oder genügt es z. B., wenn nur aller nn Minuten auf Neuankömmlinge geprüft wird?
Muss auch geprüft werden, ob eine eine bestehende Datei modifiziert wurde?
Nach welchen Kriterien soll denn die Bearbeitung entschieden werden (Inhalt, Dateityp, Name der Datei, ...)
...
In meinen Augen läuft das auf ein Shell- oder Perl-Skript hinaus, welches regelmässig aufgerufen wird, die Dateien z. B. mittels find sucht, und dann nach deinen Kriterien verarbeitet.

edlin
Der Kluge lernt aus allem und von jedem,
der Normale aus seinen Erfahrungen
und der Dumme weiß alles besser.

Sokrates

Offline knorki

  • User
  • Posts: 74
Re: Spezielles Programm oder script
« Reply #2 on: 2023/01/19, 16:02:51 »
Hallo edlin,
es handelt sich nur um Dateien, egal wlechen Type und 1 je Minute reicht.

Offline eriefisher

  • User
  • Posts: 264
Re: Spezielles Programm oder script
« Reply #3 on: 2023/01/19, 17:18:32 »
I recently read an article talking about something similar and did a search to find it again. It's called inotify-tools. It will monitor directories and files. You would need to script it to take action based on your requirements. I'm not a coder so I can't help with that part.

Offline t0mte

  • User
  • Posts: 29
Re: Spezielles Programm oder script
« Reply #4 on: 2023/01/20, 12:25:40 »
Moinsen,

vielleicht möchtest Du Dir mal incron ansehen, setzt auf inotify auf.

Best

Offline Penyelam

  • User
  • Posts: 220
Re: Spezielles Programm oder script
« Reply #5 on: 2023/01/20, 15:23:13 »
Warum schreibst du den Befehl nicht einfach in die cronatab?
Falls die Datei stehen bleibt denk beim cp an "-u".

Offline edlin

  • User
  • Posts: 535
Re: Spezielles Programm oder script
« Reply #6 on: 2023/01/22, 14:43:58 »
Ich gehe mal davon aus, dass @knorki sein Problem inzwischen gelöst hat, da keine weiteren Fragen kamen. ;)

Da mich das Thema, einfach mal so, auch interessierte, habe ich mir u. a. mal iWatch angesehen. Hat nichts mit dem Handgelenkschmuck zu tun, der angeblich das Leben erleichtern soll.

iWatch setzt auf inotify auf und ist als Perl-Script (lesbar) geschrieben; insofern habe ich mich nicht daran gestört, dass es schon länger keine neuen Versionen gibt. Installation ist unproblematisch.
iWatch kann per Kommandozeile (oder Script) gestartet werden, aber auch als Daemon laufen.
Einfacher Test:
Code: [Select]
iwatch /DATA/TESTEs wird fortan das Verzeichnis /DATA/TEST überwacht. Kopiere ich eine Datei in das Verzeichnis, so erfolgt eine entsprechende Ausgabe:
Code: [Select]
$ iwatch /DATA/TEST/
[22/Jan/2023 14:22:34] IN_CREATE /DATA/TEST//iwatch.xml.example
[22/Jan/2023 14:22:34] IN_CLOSE_WRITE /DATA/TEST//iwatch.xml.example
[22/Jan/2023 14:22:34] * /DATA/TEST//iwatch.xml.example is closed
Die folgende Zeile verschiebt die eingehenden Dateien aus /DATA/TEST nach /DATA/TEST/ABLAGE:
Code: [Select]
iwatch -c "mv %f /DATA/TEST/ABLAGE" -e default /DATA/TEST/In diesem Falle werden allerdings mehrere Events getriggert; nach dem Verschieben der Datei meckern die Nachzügler-Events, dass die Datei schon nicht mehr vorhanden ist. Daher sollte man in diesem Falle nur die zu beobachtenden Events hinter -e angeben.

Doku ist klein und fein auf der Seite von iWatch zu finden. Oder mal den älteren Artikel vom LINUX-Magazin anschauen.

Einen schönen Restsonntag wünscht

edlin
« Last Edit: 2023/01/22, 14:49:54 by edlin »
Der Kluge lernt aus allem und von jedem,
der Normale aus seinen Erfahrungen
und der Dumme weiß alles besser.

Sokrates

Offline knorki

  • User
  • Posts: 74
Re: Spezielles Programm oder script
« Reply #7 on: 2023/01/23, 07:49:28 »
@edlin
ich habe das Problen noch nicht gelöst, das ich auf ein neues gestossen bin.
Weder als user noch als root habe ich die Berechigung die crontab zu bearbeiten.
Als sddm habe ich c-blues. Nun weiß ich erstmal nicht weiter.

Offline devil

  • Administrator
  • User
  • *****
  • Posts: 4.838
Re: Spezielles Programm oder script
« Reply #8 on: 2023/01/23, 10:04:37 »
Was passiert denn genau, wenn du
Code: [Select]
crontab -e eingibst?

Offline edlin

  • User
  • Posts: 535
Re: Spezielles Programm oder script
« Reply #9 on: 2023/01/23, 10:12:59 »
@edlin
ich habe das Problen noch nicht gelöst, das ich auf ein neues gestossen bin.
Weder als user noch als root habe ich die Berechigung die crontab zu bearbeiten.
Ich weiß. Oder was denkst du, warum ich dir zwinkernd iWatch vorgeschlagen habe?
Da du ohnehin in Zeitabständen von ca. 1 min neue Dateien erkennen und verarbeiten willst, können wir gleich auf Dauerüberwachung gehen. Eröffnen wir also hier nicht noch eine neue Baustelle (Rechte und crontab).

Mit iWatch kannst du als normaler User arbeiten, solange du natürlich die notwendigen Rechte für die Dateien/Verzeichnisse besitzt. Du musst dich auch nichtmit crontab & Co. beschäftigen.
iWatch nutzt inotify. Damit werden die Veränderungen an Dateien/Verzeichnissen vom Kernel übergeben (das i steht für inode)- sprich Dauerüberwachung (zumindest, solange der Kernel noch läuft).
Du musst dich also nur noch um die Auswertung der Events kümmern.
Installiere dir doch einfach iWatch und teste es. Perl hast du eh auf dem System und so schleppt iWatch auch nicht viel mit.
Dann gib
Code: [Select]
iwatch /tmpein. Kopiere irgendwas nach /tmp und beobachte die Ausgabe. Dann benenne die Datei einfach mal mit mv um - wieder neue Ausgaben. Daran siehst du erst einmal, ob/dass es funktioniert und welche Events ausgelöst werden. Dann starte mal ein apt update; du wirst jetzt ein kleines Feuerwerk von Events sehen.
Mit Strg-C kannst du dem Treiben ein Ende bereiten. 
Im nächsten Schritt wertest du gezielt ein Event aus und führst ein Programm/Skript aus.
Beispiel hast du ja in meinem anderen Posting.
Danach sehen wir weiter.

edlin

Der Kluge lernt aus allem und von jedem,
der Normale aus seinen Erfahrungen
und der Dumme weiß alles besser.

Sokrates