xml Format mit cron

Meteorologe

Ensign
Registriert
Aug. 2006
Beiträge
253
Ich habe mal wieder ein Problem, wo ich einfach nicht weiter komme. Trotz google Suche und allerlei experimentieren (acht verschiedene Varianten von crontab), komme ich nicht auf das gewünschte Ergebnis.

Ich möchte folgende Homepage jede Stunde abrufen / abspeichern:
https://iris.noncd.db.de/iris-tts/timetable/plan/8011160/160804/23

Das Problem ist, dass das Format nicht dem entspricht, welches ich mir vorgestellt habe. Es wird schon ein xml-File herunter geladen, nur sobald ich es öffne, sieht das File aus wie eine .txt Datei, in der alle Buchstaben und Zahlen in einer Zeile geschrieben wurden. Wie bekomme ich es hin ,dass das xml Format übernommen wird?

Vielen Dank für die Hilfe.

P.S. Die URL benötigt das aktuelle Datum und die aktuelle Uhrzeit. Dies habe ich schon in der crontab untergebracht bzw. hinbekommen. :)
 
Zuletzt bearbeitet:
Code:
curl -s https://iris.noncd.db.de/iris-tts/timetable/plan/8011160/160804/23 | xmllint --format -
 
Vielen Dank für die flotte Antwort.
Leider erhalte ich mit diesem Code gar keine Ausgaben :/
Log File gibt den gewöhnlichen Fehler aus, dass postfix nicht gefunden wurde.
 
Hast du auch das Datum in der URL angepasst? Für die URL von gestern erhalte ich nämlich auch keine Daten mehr. Aktueller Versuch:
Code:
$ curl -s https://iris.noncd.db.de/iris-tts/timetable/plan/8011160/160805/23 | xmllint --format -
<?xml version="1.0" encoding="UTF-8"?>
<timetable station="Berlin Hbf">
  <s id="5455775586989875810-1608051822-10">
    <tl f="F" t="p" o="80" c="IC" n="1076"/>
    <ar pt="1608052303" pp="11" ppth="Frankfurt(Main)Hbf|Hanau Hbf|Fulda|Kassel-Wilhelmshöhe|Göttingen|Hildesheim Hbf|Braunschweig Hbf|Wolfsburg Hbf|Berlin-Spandau"/>
    <dp pt="1608052307" pp="" hi="1" ppth="Berlin Ostbahnhof"/>
  </s>
  <s id="-8881695439194884617-1608052336-4">
    <tl f="N" t="p" o="01" c="RE" l="1" n="18198"/>
    <ar pt="1608052346" pp="14" ppth="Berlin Ostbahnhof|Berlin Alexanderplatz|Berlin Friedrichstraße"/>
    <dp pt="1608052348" pp="14" ppth="Berlin Zoologischer Garten|Berlin-Charlottenburg|Berlin Wannsee|Potsdam Hbf|Potsdam Charlottenhof|Potsdam Park Sanssouci|Werder(Havel)|Groß Kreutz|Götz|Brandenburg Hbf"/>
  </s>
  <s id="-2982911805040869927-1608052208-18">
    <tl f="N" t="p" o="04" c="RE" l="1" n="18137"/>
    <ar pt="1608052349" pp="12" ppth="Magdeburg Hbf|Magdeburg-Neustadt|Burg(Magdeburg)|Güsen(b Genthin)|Genthin|Wusterwitz|Kirchmöser|Brandenburg Hbf|Götz|Groß Kreutz|Werder(Havel)|Potsdam Park Sanssouci|Potsdam Charlottenhof|Potsdam Hbf|Berlin Wannsee|Berlin-Charlottenburg|Berlin Zoologischer Garten"/>
    <dp pt="1608052351" pp="12" ppth="Berlin Friedrichstraße|Berlin Alexanderplatz|Berlin Ostbahnhof"/>
  </s>
  <s id="-5541096736703470027-1608052217-19">
    <tl f="N" t="p" o="04" c="RE" l="7" n="18740"/>
    <ar pt="1608052357" pp="11" ppth="Dessau Hbf|Roßlau(Elbe)|Jeber-Bergfrieden|Medewitz(Mark)|Wiesenburg(Mark)|Bad Belzig|Baitz|Brück(Mark)|Borkheide|Beelitz-Heilstätten|Seddin|Michendorf|Wilhelmshorst|Potsdam-Rehbrücke|Potsdam Medienstadt Babelsberg|Berlin Wannsee|Berlin-Charlottenburg|Berlin Zoologischer Garten"/>
    <dp pt="1608052359" pp="11" ppth="Berlin Friedrichstraße|Berlin Alexanderplatz|Berlin Ostbahnhof"/>
  </s>
</timetable>
Ansonsten bitte mal -v Parameter zu curl hinzufügen und | xmllint --format - weglassen, damit man mal sieht, ob das Abrufen überhaupt klappt.

Den Teil mit dem postfix-Error verstehe ich nicht. Was hat ein Mailserver hiermit zu tun?
 
Ich bin ein Depp. Ich habe vergessen "xmllint" zu installieren. Dies hat noch gefehlt.
Wie kann ich denn die Ausgabe, als Datei abspeichern lassen?

Cron gibt den Fehler "no found postfix" aus, wenn ich die von dir dankend erstellte Zeile mit */1 * * * * vervollständige.
 
Zuletzt bearbeitet:
Code:
curl -s https://iris.noncd.db.de/iris-tts/timetable/plan/8011160/160805/23 | xmllint --format - > /pfad/zu/deiner_datei.xml
Klingt so, als würde dein cron daemon versuchen dich über fehlgeschlagene Jobs per Mail zu informieren.
 
Tumbleweed schrieb:
Code:
curl -s https://iris.noncd.db.de/iris-tts/timetable/plan/8011160/160805/23 | xmllint --format - > /pfad/zu/deiner_datei.xml
Klingt so, als würde dein cron daemon versuchen dich über fehlgeschlagene Jobs per Mail zu informieren.

VIELEN DANK für dein Hilfe.

Nun klappt alles so, wie es soll. Ich hab mich wohl zu sehr am "wget" fest gehalten und bin nicht auf curl "umgestiegen". Danke
 
Jo, kein Problem.

Wget geht übrigens auch. ;)

Code:
wget -q -O - https://iris.noncd.db.de/iris-tts/timetable/plan/8011160/160805/23 | xmllint --format - > /pfad/zu/deiner_datei.xml
 
Zurück
Oben