Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Umlaufendes Logfile herunterladen und fortschreiben

Frage Entwicklung VB for Applications

Mitglied: Haegar75

Haegar75 (Level 1) - Jetzt verbinden

17.11.2010 um 22:21 Uhr, 2107 Aufrufe, 3 Kommentare

Hallo,
ich brauche mal wieder Hilfe.. Ich habe eine Reihe umlaufender Logfiles die über http herunterladbar sind. Um nun keine Informationen zu verlieren wenn zu viele neue Einträge reinkommen, möchte ich die Logfiles zyklisch herunterladen und in lokale Textdateien abspeichern. Allerdings möchte ich die "Momentaufnahmen" nicht einfach hintereinanderklatschen, sondern nur die neuen Zeilen hintendranhängen. Hat schon jemand sowas gemacht und ne Idee für mich? Kann gerne auch ne Batch-Lösung sein..
Vielen Dank im voraus.
Gruß Haegar
Mitglied: bastla
17.11.2010 um 22:51 Uhr
Hallo Haegar75!

Zum Herunterladen kannst Du "wget" oder zB
01.
Set Http = CreateObject("WinHttp.WinHttpRequest.5.1") 
02.
Http.Open "GET", "http://Log-File-URL", False 
03.
Http.Send 
04.
LogText = Http.ResponseText
verwenden.
Die Weiterverarbeitung ist mir dann nicht ganz klar - könntest Du das noch etwas konkretisieren und auch zB den Umfang der Logfiles (Zeilenanzahl, Dateigröße) angeben?

Grüße
bastla
Bitte warten ..
Mitglied: Haegar75
18.11.2010 um 19:13 Uhr
Danke! Mit wget konnte ich die Files schonmal einwandfrei herunterladen. Die Logfiles sind ca. 5-6kb groß.. Wenn ich die Files alle 3-4min herunterlade, sind je nachdem 2-30 Zeilen dazugekommen und die älteren Zeilen fehlen (umlaufend also..) Da oft identische Zeilen vorkommen kann ich nicht nach gleichen Zeilen im alten und neuen Logfile suchen und ab da aus dem neuen ans Ende des alten Files hängen. Ich bräuchte ne Mustererkennung oder so ähnlich um z.B. bei einer Übereinstimmung von ca. 10 Zeilen eine "Synchronisation" machen zu können. Sowas ähnliches wie der diff-Befehl unter Linux...
Bitte warten ..
Mitglied: bastla
18.11.2010 um 19:31 Uhr
Hallo Haegar75!

Meine Frage nach dem Umfang bezog sich auf die Möglichkeit, den gesamten Inhalt (bzw dessen größten Teil) in eine Variable (und damit den Arbeitsspeicher zu holen) - dann könnte nach diesem "Block" in der nächsten Datei gesucht und nur der darauf folgende Teil hinzugefügt werden - schematisch (und völlig ungetestet) also etwa (ausgehend davon, dass die heruntergeladenen Dateien als "Vorletzte.txt" und "Letzte.txt" gespeichert sind und die Zusammenfassung in "Gesamt.txt" erfolgen soll) so:
01.
Set fso = CreateObject("Scripting.FileSystemObject") 
02.
InhaltVorletzte = fso.OpenTextFile("D:\Vorletzte.txt").ReadAll 
03.
InhaltLetzte = fso.OpenTextFile("D:\Letzte.txt").ReadAll 
04.
 
05.
TeilAlt = Mid(InhaltVorletzte, 2001) 'erste 2000 Zeichen überspringen - sollten alle in der neuen Datei weggefallenen Zeilen enthalten 
06.
Pos = InStr(InhaltLetzte, TeilAlt) 
07.
If Pos > 0 Then 
08.
    TeilNeu = Right(InhaltLetzte, Len(InhaltLetzte) - Pos - Len(TeilAlt)) 
09.
    fso.OpenTextFile("D:\Gesamt.txt", 8, True).Write TeilNeu 
10.
End If
Danach die Datei "D:\Vorletzte.txt" durch "D:\Letzte.txt" ersetzen und "D:\Letzte.txt" neu herunterladen.

Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung!

(1)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Linux Tools
CURL mehrere Dateien vom ftp-Server herunterladen (10)

Frage von highpriest zum Thema Linux Tools ...

Windows Server
gelöst Windows Updates : Herunterladen, aber Zeitpunkt zur Installation selbst festlegen (8)

Frage von PizzaPepperoni zum Thema Windows Server ...

Microsoft
gelöst Windows 10 1607 Anniversary Update manuell herunterladen und updaten (7)

Frage von thomasreischer zum Thema Microsoft ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (15)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Backup
Clients als Server missbrauchen? (10)

Frage von 1410640014 zum Thema Backup ...