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, 2112 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
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Windows Tools
gelöst Manuelles Herunterladen von WSUS-Updates (1)

Frage von honeybee zum Thema Windows Tools ...

Windows Server
gelöst MS SQL Express 2008 - Wie kann ich das Logfile verkleinern? (3)

Frage von ChrisR zum Thema Windows Server ...

Apple
Backup von ICloud herunterladen (2)

Frage von DanielBodensee zum Thema Apple ...

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

Frage von highpriest zum Thema Linux Tools ...

Heiß diskutierte Inhalte
Linux Netzwerk
gelöst DHCP vergibt keine Adressen (31)

Frage von Maik82 zum Thema Linux Netzwerk ...

Exchange Server
gelöst Bestehende eMails autoamatisch weiterleiten (22)

Frage von metal-shot zum Thema Exchange Server ...

Apache Server
gelöst Lets Encrypt SSL mit Apache2 (20)

Frage von banane31 zum Thema Apache Server ...

Switche und Hubs
LAG zwischen SG300-Switches macht Probleme. Wer weiß Rat? (19)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...