Download einer PDF-Datei via Cronjob

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

  • Download einer PDF-Datei via Cronjob

    Hallo!

    Ich möchte gerne täglich via Cronjob eine bestimmte PDF-Datei aus dem Internet herunterladen und, wenn möglich, auf meinem Webspace speichern. Wie gehe ich vor? Wähle ich den direkten Link im Cronjob zur PDF-Datei, erhalte ich den Inhalt der Datei als E-Mail zugeschickt.

    Der Cronjob muss also ein PHP-Script anstossen... nur leider habe ich keine Ahnung, wie so ein Script auszusehen hat.

    Danke!

  • #2
    Zitat von PogoBo Beitrag anzeigen
    Wähle ich den direkten Link im Cronjob zur PDF-Datei, erhalte ich den Inhalt der Datei als E-Mail zugeschickt.
    D.h., die direkte jeweilige Adresse hast du gar nicht, der Abruf direkt über HTTP ist gar nicht vorgesehen?

    Dann wird sich der Betreiber wohl was dabei gedacht haben, das so umzusetzen.
    Am besten kontaktierst du ihn also, ob es möglich wäre, dir eine andere Möglichkeit zum Bezug des PDFs zur Verfügung zu stellen.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Wie sieht der Cronjob denn aus?
      gruss Chris

      [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

      Kommentar


      • #4
        Zitat von wahsaga Beitrag anzeigen
        D.h., die direkte jeweilige Adresse hast du gar nicht, der Abruf direkt über HTTP ist gar nicht vorgesehen?

        Dann wird sich der Betreiber wohl was dabei gedacht haben, das so umzusetzen.
        Am besten kontaktierst du ihn also, ob es möglich wäre, dir eine andere Möglichkeit zum Bezug des PDFs zur Verfügung zu stellen.
        Doch der direkte Abruf ist vorgesehen! Der Link ist immer gleich, das PDF ändert sich jedoch jeden Tag. Es geht um die EZB-Kurse:

        http://www.ecb.int/stats/shared/pdf/eurofxref.pdf

        Zitat von hhcm Beitrag anzeigen
        Wie sieht der Cronjob denn aus?
        Hmm... ich habe den Cronjob einfach über das Webinterface meines Hostinganbieters eingerichtet (all-inkl). Also rufe URL X zum Zeitpunkt Y auf und schicke mir den Inhalt per Mail. Leider wird der Inhalt des PDF als Mailtext versandt..

        Danke!

        Kommentar


        • #5
          Wir kennen natürlich den Mechanismus deines Hosters nicht. Entweder erläuterst du den hier, oder du musst dir tatsächlich ein Script schreiben, welches die Datei herunterläd und als Anhang versendet.

          Lässt sich auf jeden Fall mit Grundlagen realisieren, ob es soetwas "primitives" auch vorgefertigt gibt, wage ich zu bezweifeln. Aber im Handbuch gibt es Beispiele zum Datei-Download und zum E-Mail-Versand die es nur zu kombinieren gilt.

          Kommentar


          • #6
            Äh. Lass dir doch einfach ne Mail schicken mit nem Link zum Original
            gruss Chris

            [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

            Kommentar


            • #7
              Zitat von hhcm Beitrag anzeigen
              Äh. Lass dir doch einfach ne Mail schicken mit nem Link zum Original
              Dann könnte der TS auch direkt nen Bookmark speichern und die Datei bei Bedarf von Hand aufrufen. Das ist sicher nicht der Sinn hinter der Idee...

              Kommentar


              • #8
                Nee, er möchte diese auf seinem Webspace speichern, das ist mir klar.

                Welche art von Cronjobs dort möglich sind hat der TS nicht erwähnt.
                AFAIK kann man bei All-Inkl eine URL zu einem Script angeben, die Ausführungszeit und eine "Benachrichtigung" per Mail das der Cron gelaufen ist. In dieser Mail wird die Rückgabe des Scripts ausgegeben.

                Wenn dort nun einfach eine PDF Datei als URL (Script-URL) angegeben wird kann sich jeder vorstellen was in der Benachrichtigung drin steht.

                Also ein PHP Script erstellen. file_get_contents - file_put_contents. Sollte nen 2-3 Zeiler sein.
                gruss Chris

                [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                Kommentar


                • #9
                  Moin!

                  Also Hintergrund ist folgender: Die Kurse der EZB werden jeden Tag um 14:30 Uhr unter immer der selben URL zur Verfügung gestellt. Hat man ein PDF, warum auch immer, verpasst herunterzuladen, hat man Pech gehabt. An die historischen Kurse kommt man natürlich noch ran, aber nicht mehr an dieses entsprechende PDF mit den Kursen des jew. Tages.

                  Zitat von hhcm Beitrag anzeigen
                  Nee, er möchte diese auf seinem Webspace speichern, das ist mir klar.

                  Welche art von Cronjobs dort möglich sind hat der TS nicht erwähnt.
                  AFAIK kann man bei All-Inkl eine URL zu einem Script angeben, die Ausführungszeit und eine "Benachrichtigung" per Mail das der Cron gelaufen ist. In dieser Mail wird die Rückgabe des Scripts ausgegeben.

                  Wenn dort nun einfach eine PDF Datei als URL (Script-URL) angegeben wird kann sich jeder vorstellen was in der Benachrichtigung drin steht.
                  Ja genau so isses...

                  Also ein PHP Script erstellen. file_get_contents - file_put_contents. Sollte nen 2-3 Zeiler sein.
                  Puh ich habe keine Ahnung von PHP. Hast du diese zwei oder drei Zeilen "mal eben" für mich parat? Worauf ich zumindest entsprechend aufbauen könnte...?

                  Bo

                  Kommentar


                  • #10
                    PHP-Code:
                    file_get_contents(HERKUNFT DER DATEI);
                    file_put_contents(ZIEL DER DATEI); 
                    Pseudocode, setzt allow_fopen_url voraus, enthält noch keine Fehlerbehandlung.

                    Kommentar


                    • #11
                      0 14 * * * wget -O foo.pdf http://example.com/foo.pdf && mutt -a foo.pdf -s "Subject" you@example.com < /dev/null && rm foo.pdf

                      oder, falls mutt nicht vorhanden ist,

                      0 14 * * * wget -O foo.pdf http://example.com/foo.pdf && uuencode foo.pdf | mail -s "Subject" you@example.com && rm foo.pdf

                      Kommentar


                      • #12
                        Zitat von TobiaZ Beitrag anzeigen
                        PHP-Code:
                        file_get_contents(HERKUNFT DER DATEI);
                        file_put_contents(ZIEL DER DATEI); 
                        Pseudocode, setzt allow_fopen_url voraus, enthält noch keine Fehlerbehandlung.
                        Danke! Erhalte diese Fehlermeldung:

                        Warning: file_put_contents() expects at least 2 parameters, 1 given in /www/htdocs/test/test.php on line 3
                        Hmm!?

                        Zitat von onemorenerd Beitrag anzeigen
                        0 14 * * * wget -O foo.pdf http://example.com/foo.pdf && mutt -a foo.pdf -s "Subject" you@example.com < /dev/null && rm foo.pdf

                        oder, falls mutt nicht vorhanden ist,

                        0 14 * * * wget -O foo.pdf http://example.com/foo.pdf && uuencode foo.pdf | mail -s "Subject" you@example.com && rm foo.pdf
                        Wie bau ich das ein?

                        Danke!

                        Kommentar


                        • #13
                          Zitat von PogoBo Beitrag anzeigen
                          Warning: file_put_contents() expects at least 2 parameters, 1 given in /www/htdocs/test/test.php on line 3
                          Hmm!?
                          RTFM - schau dir die Beschreibung der Funktionen im Manual an!
                          I don't believe in rebirth. Actually, I never did in my whole lives.

                          Kommentar

                          Lädt...
                          X