Ankündigung

Einklappen
Keine Ankündigung bisher.

FTP Handle schließen...

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    FTP Handle schließen...

    Eine Frage:

    mit
    ftpConfig
    definiere ich (bis zu 4) Handels,
    mit ftpflush kann ich die Daten auf den FTP-Server schreiben,
    aber WIE SCHLIESSE ICH den Handle?

    Hintergrund: ich möchte die Dateien in einer Datumsstruktur ablegen - dazu muss ich den ftp-Pfad um Mitternacht ändern....

    Nach einigen Tests bin ich zum Schluß gekommen, dass eine Änderung des FTP-Pfades eines geöffneten Handles wirkungslos ist (ist ja auch OK so) - also muss ich den alten Handle zumachen...
    EPIX
    ...und möge der Saft mit euch sein...
    Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

    #2
    *stups*
    EPIX
    ...und möge der Saft mit euch sein...
    Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

    Kommentar


      #3
      Zitat von EPIX Beitrag anzeigen
      Hintergrund: ich möchte die Dateien in einer Datumsstruktur ablegen - dazu muss ich den ftp-Pfad um Mitternacht ändern....
      Das geht so (hier auch getestet):
      [highlight=epc]
      changepath=OFF
      newpath=$ftp/Telegramme2$
      if changepath then {
      status=flushftp(Handle);
      } endif
      if changepath and status==0 then {
      Handle=ftpConfig(server,user,password,newpath,time out)
      }endi
      [/highlight]
      offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
      Enertex Produkte kaufen

      Kommentar


        #4
        nur zur Info: legt der eibPC das neue Verzeichnis am FTP Server auch an - oder muß dass schon vorhanden sein?
        EPIX
        ...und möge der Saft mit euch sein...
        Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

        Kommentar


          #5
          da liegt irgendwie der Hase im Pfeffer...

          Nach langem herumtesten schaut es so aus, als ob der ftp-Befehl das neue Verzeichnis nicht anlegt...

          Der angegebene User "KNX" hat "admin" Rechte und ich kann (als KNX eingeloggt) auch Verzeichnisse & Dateien anlegen...
          im betreffenden Verzeichnis habe ich mittlerweile alle Beschränkungen testweise aufgehoben - ohne Erfolg.

          vom eibPC aus geht es jedoch nicht: es wir ein Fehlercode 5 zurückgegeben - wenn ich das Verzeichnis manuell anlege, dann legt der eibPC brav sein ftp-File an.

          Code:
          //manuelles loggen auslösen
          if log_man_flush then \\
          	log_man_flush=AUS; \\
          	Syslog(Notice,$EIBPC man_flushBuffer: $+convert(ftpbuffer(log_handle)+1u16,$$)+\\
          		$ Timeout $+convert(ftptimeout(log_handle),$$)); \\
          	log_ftpstatus=flushftp(log_handle); \\
          	Syslog(Notice,$EIBPC man_flushStatus: $+convert(log_ftpstatus,$$)+$ - $+log_gapath+log_month+$/$+log_day); \\
          	log_ftpstatus=ftpstate(log_handle); \\
          	Syslog(Notice,$EIBPC man_ftpStatus: $+convert(log_ftpstatus,$$)+$ - $+log_gapath+log_month+$/$+log_day); \\
          	endif
          das Öffnen des Handles passiert so:
          Code:
          if InitWebserver or htime(00,00,00) then \\
          	if log_handle>0 then \\
          		Syslog(Notice,$EIBPC flushBuffer: $+convert(ftpbuffer(log_handle)+1u16,$$)+\\
          			$ Timeout $+convert(ftptimeout(log_handle),$$)); \\
          		log_ftpstatus=flushftp(log_handle); \\
          		Syslog(Notice,$EIBPC flushStatus: $+convert(log_ftpstatus,$$)+$ - $+log_gapath+log_month+$/$+log_day); \\
          		endif; \\
          	log_handle=ftpConfig(log_gaserver,log_gauser,log_gapassword,log_gapath+log_month+$/$+log_day,log_gatimeout); \\
          	log_ftpstatus=ftpstate(log_handle); \\
          	Syslog(Notice,$EIBPC ftpStatus: $+convert(log_ftpstatus,$$)+$ - $+log_gapath+log_month+$/$+log_day); \\
          	endif
          die ftp-Parameter sind:
          log_gaserver=$192.168.1.210$
          log_gauser=$KNX$
          log_gapassword=$KNX$
          log_gapath=$HomeNet/FTP/KNX_LOG/2014/eibPC/$
          der verwendete Pfad und die ftp-Details laut Syslog: (wenn ich manuell den Buffer schreibe)
          man_ftpStatus: 5 - HomeNet/FTP/KNX_LOG/2014/eibPC/03/09
          man_flushStatus: 5 - HomeNet/FTP/KNX_LOG/2014/eibPC/03/09
          man_flushBuffer: 3382 Timeout 277
          wie geschrieben: "eigentlich" muss der Code passen - wenn das Verzeichnis angelegt ist, passt ja alles...

          Nachdem ich nicht so der Linux-Spezialist bin: wie kann ich es am NAS prüfen ob alles passt? (Synology 412+) - per Filestation anlegen geht jedenfalls
          EPIX
          ...und möge der Saft mit euch sein...
          Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

          Kommentar


            #6
            ich habe jetzt (um Probleme mit dem NAS auszuschliessen) das Ziel auf meine Fritzbox gelegt:

            gleiches Phänomen - das Verzeichnis wird nicht angelegt..

            Wenn ich mit dem User/Passwort mittels WinSCP per FTP zugreife, habe ich die Rechte - der FTP ist also richtig konfiguriert!

            Kann jemand eigentlich das Problem nachvollziehen?
            EPIX
            ...und möge der Saft mit euch sein...
            Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

            Kommentar


              #7
              Zitat von EPIX Beitrag anzeigen
              Kann jemand eigentlich das Problem nachvollziehen?
              hab das auf einem NAS eben auch gesehen: Das Verzeichnis muss vorhanden sein => Bug.
              offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
              Enertex Produkte kaufen

              Kommentar


                #8
                Zitat von enertegus
                Das geht so (hier auch getestet):
                epc Code:
                changepath=OFF
                ....
                DAS GIBT JETZT ABER
                Es ist halt so wie in der Schule, wenn man einsagt, dann sollte es auch stimmen....

                Nix für ungut, aber nachdem ich mit dem "getesten" Code einige Stunde verschi*** habe: als Trostpflaster wünsch' ich mir:
                Zitat von enertegus Beitrag anzeigen
                Was Dir wahrscheinlich noch fehlt ist eine Funktion:
                GAName=GetNameGA(39u16,encoding)
                die der EibPC in seine übliche GA-Schreibweise umsetzt, also z.B. "LichtKüche-0/0/3".
                dann ist die eibPC-Welt wieder
                EPIX
                ...und möge der Saft mit euch sein...
                Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

                Kommentar


                  #9
                  Zitat von EPIX Beitrag anzeigen
                  DAS GIBT JETZT
                  Es ist halt so wie in der Schule, wenn man einsagt, dann sollte es auch stimmen....
                  Der stimmt ja und loggt auch, nur das verzeichnis muss eben schon da sein.
                  offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                  Enertex Produkte kaufen

                  Kommentar


                    #10
                    Dann war es halt "Thema verfehlt"

                    Weil die Aufgabenstellung war schon klar:
                    dazu muss ich den ftp-Pfad um Mitternacht ändern....
                    EPIX
                    ...und möge der Saft mit euch sein...
                    Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

                    Kommentar


                      #11
                      Zitat von EPIX Beitrag anzeigen
                      Weil die Aufgabenstellung war schon klar:
                      Folgendes hierzu:
                      Das Verzeichnis $Log/Telegramme$ wird in der vorliegenden Version nicht angelegt, wenn der Pfad "zwei-stufig" ist also hier "Log ... Telegramme".
                      Wenn der Pfad nur einstufig ist, also $Telegramme$ würde der Pfad angelegt werden.
                      In einer der nächsten Versionen wird das gefixt.
                      offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                      Enertex Produkte kaufen

                      Kommentar


                        #12
                        Ah, OK....

                        Ich warte aber lieber auf das nä. Update und stelle dann mein Makro für das logging fertig - dann ist ja hoffentlich auch die encode-Funktion der GA -> Klartext mit an Board....

                        Vorher sind die logs eher nicht wirklich brauchbar

                        Schönes WE
                        EPIX
                        ...und möge der Saft mit euch sein...
                        Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

                        Kommentar


                          #13
                          jetzt habe ich die Funktionalität getestet (patch 3.009)

                          Ausgangs- Verzeichnis ist existent zB:
                          HomeNet/FTP/KNX_LOG/eibPC/

                          wird jetzt als pfad
                          HomeNet/FTP/KNX_LOG/eibPC/2014/04/13 beim ftpConfig() angegeben, so wird der Handle erstellt, aber die Verzeichnisse werden nicht erstellt.
                          Der Status beim versuchten flushen wird mit "5" zurückgegeben
                          (besser = klarer wäre eigentlich "4")

                          wird jetzt als pfad
                          HomeNet/FTP/KNX_LOG/eibPC/2014/04 beim ftpConfig() angegeben, so wird der Handle erstellt, aber die Verzeichnisse werden nicht erstellt.
                          Der Status beim versuchten flushen wird mit "5" zurückgegeben
                          (besser = klarer wäre eigentlich "4")

                          wird jetzt als pfad
                          HomeNet/FTP/KNX_LOG/eibPC/2014 beim ftpConfig() angegeben, so wird der Handle erstellt, UND das Verzeichnisse wird erstellt.
                          Der Status beim versuchten flushen wird mit "4" zurückgegeben
                          (besser = klarer wäre eigentlich "1")

                          Das Problem kann man zwar durch gezieltes stufenweises Anlegen der Verzeichnisstruktur mit ftpconfig/flushen umgehen, es wird jedoch bei jedem eibPC start ein neues File geschrieben....
                          ALLERDINGS "verbraucht" man auf diese Weise 2 Handles - weil man einen geöffneten ftp-Kanal nicht gezielt schließen kann - oder doch??
                          EPIX
                          ...und möge der Saft mit euch sein...
                          Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

                          Kommentar


                            #14
                            konsequent weitergedacht:

                            wenn ich (was ja eigentlich der Grund dieses Threads war) die Logs in einer Verzeichnis-Struktur ablegen will und keine Möglichkeit habe die Handles zu schließen, dann geht dem eibPC relativ rasch die "Luft aus", da ja nur 4 Handles möglich sind....

                            Vielleicht könnte man ja am Montag etwas dazu sagen
                            (zu Enertex rüberschiel')
                            EPIX
                            ...und möge der Saft mit euch sein...
                            Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

                            Kommentar


                              #15
                              Hallo,

                              ich habe das gerade noch einmal getestet. Es wird bei einem flushftp wie erwartet ein neuer Unterordner erstellt und die Daten hochgeladen. Der Status während des Hochladens ist 5 (Übertragung wird durchgeführt), nach dem Abschluss ist er 0 (Erfolg).

                              Es können nicht mehrere Unterordner in einem Aufruf erstellt werden. Man bekommt hier den Rückgabewert 4 (Verzeichnis konnte nicht erstellt werden).

                              Falls du irgendwo den Status 5 bekommst, solltest du etwas warten, bis der FTP-Prozess beendet wurde. Je nach Systemauslastung kann das unterschiedlich lange dauern.

                              Falls du mehrere Handles benutzt, die auf die gleiche Verzeichnisstruktur mit unterschiedlicher Tiefe zugreifen, kann es sein, dass die Verzeichnisstruktur erst nach und nach aufegbaut wird (also immer ein Unterordner hinzugefügt wird).
                              Firma: Enertex Bayern GmbH, Ebermannstädter Straße 8, 91301 Forchheim
                              Amazon: KNXnet/IP Router
                              , KNXnet/IP Interface

                              Kommentar

                              Lädt...
                              X