Script Ausführung bei client Anfrage

Rammi22

Benutzer
Mitglied seit
16. Apr 2016
Beiträge
27
Punkte für Reaktionen
2
Punkte
3
Hallo,

Hallo,

folgende Netzwerkarchitektur:

Aufgabe: Scan-Vorgang ruft ein Script auf der DiskStation, welches einige Aufgaben ausführt und letzendlich den Scan speichert.

Der Scanner stellt für die Kommunikation mit der DiskStation folgende 6 Möglichkeiten zur Verfügung:
  • Formatierter TextSenden von Orginaldaten als E-Mail Versand
  • Formatierter TextSenden einer Datei an einen gemeinsamen Ordner auf einem Computer (SMB-Versand)
  • Formatierter TextSenden an einen FTP-Server (FTP-Versand)
  • Formatierter TextSenden an einen WebDAV-Server (WebDAV-Versand)
  • Formatierter TextDatei in einer Box dieses Systems senden (In Mailbox speichern)
Nach ersten Recherchen scheint der Versand an den Samba-Server (Punkt 2) für den UseCase der richtige (lt Aussage des Händlers).

Was ich suche, vorausgestzt, die Info ist korrekt, ist ein HowTo für das Event, also wie und wo muss ich was konfigurieren, das die Anfrage an mein Script weitergeleitet wird
 

AndiHeitzer

Benutzer
Sehr erfahren
Mitglied seit
30. Jun 2015
Beiträge
3.332
Punkte für Reaktionen
624
Punkte
174
Ein gescanntes Dokument wird niemals eine Aktion a la 'mach mal was' auslösen können.
Was Du aber machen kannst, das Script rennt zyklisch (alle 5 Minuten?) und guckt nach, ob ein neues gescanntes Dokument am Speicherort vorhanden ist. Und wenn das zutrifft, wird die eigentliche Aufgabe des Scriptes ausgeführt.
 

Rammi22

Benutzer
Mitglied seit
16. Apr 2016
Beiträge
27
Punkte für Reaktionen
2
Punkte
3

Ulfhednir

Benutzer
Sehr erfahren
Mitglied seit
26. Aug 2013
Beiträge
3.476
Punkte für Reaktionen
1.087
Punkte
194
Mal gleich vorweg die Diskstation ist kein einfaches Ubuntu-Derivate. Das Advanced Packaging Tool steht für die DS nicht zur Verfügung.
Wenn man Onkel Google befragt, hat es auch bisher noch niemand wirklich geschafft, dass incron nativ auf der DS ausgeführt wird.
Trick17 wäre dann entweder ein kompatibles Docker-Image, bei dem du die Pfade mountest oder eine VM.

Oder ersatzweise, wie AndiHeitzer bereits schrieb über einen Intervall. Das läuft dann, wie ich bereits schon schrieb, ebenfalls über den Aufgabenmanager.
 

Rammi22

Benutzer
Mitglied seit
16. Apr 2016
Beiträge
27
Punkte für Reaktionen
2
Punkte
3
...AndiHeitzer bereits schrieb über einen Intervall. Das läuft dann, wie ich bereits schon schrieb, ebenfalls über den Aufgabenmanager.
Aufgabenmanager? Meinst du den Aufgabenplaner? Der hat zu lange Intervalle.

Vielleicht anders gefragt: Gibt es ein CronJob-Manager?
 

Rammi22

Benutzer
Mitglied seit
16. Apr 2016
Beiträge
27
Punkte für Reaktionen
2
Punkte
3
Oder ersatzweise, wie AndiHeitzer bereits schrieb über einen Intervall. Das läuft dann, wie ich bereits schon schrieb, ebenfalls über den Aufgabenmanager.
Ich glaube das könnte ein Weg sein:
Aufgabenplaner startet eventuell über ein Script einen Docker und der übernimmt die Aufgaben oder das Script führt die Aufgabe direkt aus

Ich werde das mal probieren, Danke bis hierhin, da kommen bestimmt weitere Fragen
 

Ulfhednir

Benutzer
Sehr erfahren
Mitglied seit
26. Aug 2013
Beiträge
3.476
Punkte für Reaktionen
1.087
Punkte
194
Na nicht ganz. Der Docker-Container sollte dauerhaft laufen - denn wenn ich incron richtig verstehe, läuft dieser als Trigger auf Dateiebene.
Der Trigger kann natürlich nicht laufen, wenn der Container deaktiviert ist. Aber nochmal zum Skript: Was soll treibt denn jetzt das Skript, nachdem der Trigger / Event ausgelöst wird?
 

Rammi22

Benutzer
Mitglied seit
16. Apr 2016
Beiträge
27
Punkte für Reaktionen
2
Punkte
3
Aber nochmal zum Skript: Was soll treibt denn jetzt das Skript, nachdem der Trigger / Event ausgelöst wird?
Er soll einen neuen Datensatz in eine Excel-Tabelle einfügen. Und das Event passiert nur zur "normalen" Arbeitszeit. Deshalb muss das Teil auch nur dann laufen
 

plang.pl

Benutzer
Contributor
Sehr erfahren
Mitglied seit
28. Okt 2020
Beiträge
15.028
Punkte für Reaktionen
5.401
Punkte
564
  • Haha
Reaktionen: blurrrr

AndiHeitzer

Benutzer
Sehr erfahren
Mitglied seit
30. Jun 2015
Beiträge
3.332
Punkte für Reaktionen
624
Punkte
174
Dann habe ich da was für Dich, weil ich ein ähnliches Problem hatte ...
Dazu mal Screenshots ...

HEADER, um was es in meinem Script geht:
1.jpg
Die Dateiverarbeitung:
2.jpg
Die zugehörigen Aufgaben im Aufgabenplaner ....
3.jpg

Vorgeschichte:
Nach irgendeinem FirmWare-Update meines Office-Gerätes wurde bei einem SCAN keine laufende Nummer mehr an die Datei angehängt, wenn es schon einen Scan gab.
Also wurde jeder vorhandene SCAN immer durch einen neuen Scan überschrieben.
Ich kann aber, je nach SCAN-JOB (Nutze ich für verschiedene Auflösungen und Formate) einen einzigen festen Dateinamen vorgeben.
Und hier kommt dann mein Script und benennt jeden vorhandenen Scan um, und ergänzt einen Zeitstempel.
Jetzt ist das dummerweise aber so, dass der Aufgabenplaner nur im Stundentakt arbeitet. Das hast Du selber schon gesagt.
Im Script selber habe ich eine Schleife gebaut, die eine sekundenweise Verarbeitung erlaubt. Damit das nicht ausufert, nutze ich nur 299 Durchläufe, das entspricht dann 5 Minuten Laufzeit.
Das Script selber kann ich mehrfach im Aufgabenplaner einbauen, das siehst Du im dritten Screenshot. Also ist das 12 mal der gleiche Aufruf, der alle Stunde erfolgt.

Mein Office-Gerät braucht definitiv länger als eine Sekunde per Seite, so dass ich keinen Datensalat bekomme 😎
Ich bin damit sehr zufrieden.
 

Rammi22

Benutzer
Mitglied seit
16. Apr 2016
Beiträge
27
Punkte für Reaktionen
2
Punkte
3

AndiHeitzer

Benutzer
Sehr erfahren
Mitglied seit
30. Jun 2015
Beiträge
3.332
Punkte für Reaktionen
624
Punkte
174
Mein Code würde Dir ja nix helfen, weil ich einen RENAME mache und nicht irgendwelche DB-Einträge ;)

Mir ging es nur um die Idee, wie Du zu einer kurzen Wiederholung kommst, bei mir ist es derzeit der Sekundentakt.
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat