ERLEDIGT
NEIN
ANTWORTEN
12
ZUGRIFFE
2721
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
  1. #1
    Tikonteroga ist offline Mitglied Gold
    Registriert seit
    Apr 2007
    Beiträge
    233
    Hallo,

    ich habe einen Fall bei dem über WLAN eine große Menge von Daten (1 GB) in Form von Dateien (ZIP, LOG, ...) über SCP an einen Server übertragen werden.

    Sobald die Datenübertragung abgeschlossen ist, möchte ich gerne ein Programm/Skript zum Verarbeiten der übertragenen Daten ausführen, an das die übertragenen Dateien bzw. das Verzeichnis der Dateien als Parameter übergeben wird.

    Gibt es bei einem SCP-Server die Möglichkeit bei bestimmten Ereignissen ein oder mehrere Programme auszuführen, so wie das bei den Hooks eines SVN-Servers möglich ist ?

    Über Hinweise würde ich mich sehr freuen. Falls ihr detailiertere Informationen zur Ausgangssituation benötigt, lasst es mich bitte wissen.
     

  2. #2
    Registriert seit
    Aug 2004
    Ort
    nähe Wü
    Beiträge
    428
    Wenn die die Daten per SCP überträgst, dann verbindest du dich nicht zu einem SCP-Server sondern zu einem SSH-Server, somit kannst du auch Befehle usw. per SSH auf dem Zielhost ausführen.
     
    ---
    Der Uhu ist der Luchs unter den Adlern...
    Dieter Nuhr

  3. #3
    Tikonteroga ist offline Mitglied Gold
    Registriert seit
    Apr 2007
    Beiträge
    233
    Hallo,

    danke für die Antwort.

    Hier sehe ich jetzt zwei Probleme. Den Client, der die Daten über SCP/SSH auf den Server hochläd, kann ich nicht verändern. Der Server steht jedoch unter meiner Kontrolle. Ist es aus Sicherheitsgründen nicht gefährlich, wenn ein Client ein Skript auf einem Server ausführen kann?
     

  4. #4
    Registriert seit
    Aug 2004
    Ort
    nähe Wü
    Beiträge
    428
    du kannst ja folgendes auf deinem client machen

    - erst per scp die dateien hochkopieren
    - dann per ssh -lUSER HOST BEFEHL deine verarbeitung starten

    Wenn du das ganze in ein Script packst, dann kannst du sogar errorhandling usw. einbauen.
     
    ---
    Der Uhu ist der Luchs unter den Adlern...
    Dieter Nuhr

  5. #5
    Tikonteroga ist offline Mitglied Gold
    Registriert seit
    Apr 2007
    Beiträge
    233
    Also der Client, der den Upload der Daten auf den Server initiert, sollte auf dem Server keine Skripte starten können. Das werde ich so nicht realisieren können, weil ich da glaube ich Ärger mit dem Verantwortlichen bekommen würde ...

    Der Server sollte das Skript unter seiner vollen Kontrolle startet können. Hier hatte ich gehofft, dass es hier ein Event gibts, dass ausgelöst wird, wenn Daten übertragen werden. Die Pfade der übertragenden Dateien, sind innerhalb des Events als Parameter enthalten.

    Beim Subversion-Server gibt es z. B. diese Hooks. Wenn z. B. ein Checkin von neuen Dateien durchgeführt wird oder wurde, wird automatisch eine ausführbare Datei gestartet, die mit einem bestimmten Namen in einem bestimmten Verzeichnis liegen muss und der über eine standardisierte Schnittstelle Parameter übergeben werden. So einen Mechanismus suche ich.

    Aber vielen Dank für deine Vorschläge.
     

  6. #6
    slowfly ist offline Mitglied Gold
    Registriert seit
    Mar 2009
    Beiträge
    179
    eeeeventuell hilft dir das da weiter? http://stefan.buettcher.org/cs/fschange/index.html
     

  7. #7
    Tikonteroga ist offline Mitglied Gold
    Registriert seit
    Apr 2007
    Beiträge
    233
    Hallo,

    also diesen Lösungsweg habe ich auch schon analysiert.

    Für eine sehr gute Lösung benötige ich aber genau ein Ereignis, dass dann ausgelöst wird, wenn die Datenübertragung abgeschlossen, die Verbindung getrennt und die Daten auf dem Server abgelegt wurden.

    Wenn ich das Verzeichnis überwachen würde, müsste ja für jede einzelne Daten ein Event ausgelöst werden, die kopiert, verschoben oder gelöscht wird. Da müsste man dann wohl einen aufwändigen Zustandsautomat implementieren ...

    Ich halte mir diese Alternative aber im Hinterkopf, falls sich zeigt, dass die andere Lösung so nicht möglich ist.
     

  8. #8
    Registriert seit
    Aug 2004
    Ort
    nähe Wü
    Beiträge
    428
    Kannst du auf dem Server ein Skript (z.B. in Perl) laufen lassen? Dann kannst du das Verz. einfach permanent überwachen und wenn z.B. eine Semaphore übertragen wurde (also datei.zip + datei.zip.sem) eine Aktion auslösen.

    Sowas habe ich mal in Perl erstellt... wenn Interesse besteht, einfach melden.
     
    ---
    Der Uhu ist der Luchs unter den Adlern...
    Dieter Nuhr

  9. #9
    Tikonteroga ist offline Mitglied Gold
    Registriert seit
    Apr 2007
    Beiträge
    233
    Hallo,

    also die Daten, die übertragen werden, sind eigentlich bereits festgelegt bzw. ich müsste das Image bzw. die Firmware von über 100 Embedded Systemen Akt
     

  10. #10
    Registriert seit
    Aug 2004
    Ort
    nähe Wü
    Beiträge
    428
    Hallo,

    an den Dateien musst du ja auch nichts ändern, die Semaphore war lediglich gedacht um dem Script mitzuteilen das die Übertragung der eigentlichen Datei abgeschlossen ist.

    Also wenn du auf dem Zielsystem (deinem Embedded) nichts ausführen kannst, dann bin ich auch ratlos *sorry*
     
    ---
    Der Uhu ist der Luchs unter den Adlern...
    Dieter Nuhr

  11. #11
    Tikonteroga ist offline Mitglied Gold
    Registriert seit
    Apr 2007
    Beiträge
    233
    Hallo,

    ich glaube jetzt kam es zu einem Missverständnis. Deshalb beschreibe ich die Problemstellung etwas genauer.

    Also es gibt über 100 eingebettete Systeme, die in der Rolle eines Clients größere Datenmengen über SCP/SSH an einen Server übertragen. Dabei bestehen die Daten aus einer Handvoll Dateien mit einem unterschiedlichem aber vorgegebenen Datentyp.

    Durch eine Änderung in der Verwendung dieser eingebetteten Systeme werden die Daten nach einer gewissen Zeit immer in jeweils einer neuen Datei gespeichert. Es werden dann also mehrere Datensätze auf den Server übertragen.

    Die eingebetteten Systeme übertragen jetzt als mehrere Datensätze auf den Server. Diese müssen zu einem Datensatz zusammengeführt werden, damit nachfolgende Verarbeitungsfunktionen nicht verändert werden müssen.

    Ich wollte jetzt Lösungen vermeiden, bei denen irgendwelche Prozesse zyklisch das Verzeichnis überwachten und auf die eingehenden Datensätze reagieren. Ich Suche eine Möglichkeit, bei der ein Skript gestartet wird nach dem ein Client seine Daten vollständig übertragen hat ... also Ereignisgesteuert.
     

  12. #12
    DL111 ist offline Grünschnabel
    Registriert seit
    Sep 2012
    Beiträge
    1
    Hallo imweasel. Habe grade das gleiche Problem, das ich mit scp grosse Datenmengen versenden muss und will bei einer semaphore ein event auslösen. Perl könnte ic hda ausführen. Wäre sehr an deine Lösung interessiert.... Viele Grüße
     

  13. #13
    Avatar von erik s.
    erik s. ist offline Mitglied Platin
    Registriert seit
    Mar 2002
    Ort
    Frankfurt (Hessen)
    Beiträge
    574
    Unter welchem OS läuft denn der Server?
    Falls es ein Linux-System ist, hätte ich da eine Idee: Jedem Systemuser ist in der /etc/passwd eine Shell zuordenbar. Anstelle dessen kann man auch ein Skript setzen, welches vor und nach dem eigentlichen Öffnen der Shell bestimmte Aktionen ausführen kann.

    /etc/passwd
    Code :
    1
    2
    
    ...
    karl:x:1001:1001:,,,:/home/karl:/home/karl/bin/start.sh

    /home/karl/bin/start.sh
    Code :
    1
    2
    3
    4
    5
    
    #! /bin/bash
     
    echo "Du bist nun eingeloggt"
    /bin/bash
    echo "Du hast dich ausgeloggt"

    Vielleicht kann die Idee noch jemand fortführen. Falls es sich tatsächlich um einen Linux-Server handeln sollte, würde ich das Thema auch verschieben lassen ins entsprechende Forum.
     

Thema nicht erledigt

Ähnliche Themen

  1. Datentransfer XP auf WIN 7
    Von doctoramadeus im Forum Microsoft Windows
    Antworten: 4
    Letzter Beitrag: 25.10.10, 22:35
  2. datentransfer
    Von chrisjahl im Forum Internet, DSL & Flatrate
    Antworten: 2
    Letzter Beitrag: 19.11.07, 00:24
  3. Datentransfer -- Möglichkeiten
    Von Sebigf im Forum PHP
    Antworten: 2
    Letzter Beitrag: 12.08.06, 04:41
  4. Datentransfer von FTP zu FTP
    Von ronin im Forum Hosting & Webserver
    Antworten: 9
    Letzter Beitrag: 27.05.04, 12:19
  5. Datentransfer FAT -NTFS
    Von Boandl im Forum Microsoft Windows
    Antworten: 1
    Letzter Beitrag: 29.02.04, 11:48