Crontab

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

  • Crontab

    Hallo, ich versuche verzweifelt einen Cronjob auf meiner Linuxkiste zu erstellen. Aber als mail bekomme ich immer: /usr/local/lib/php is a directory!!!

    Woran kann das liegen??

    DANKE

  • #2
    Daran, das /url/local/lib/php ein Directory ist.
    Dein cronjob funktioniert offensichtlich ganz gut, da du eMails erhältst. Den Pfad solltest du allerdings ändern, und zwar auf /usr/bin/php.

    CAT Music Files

    Kommentar


    • #3
      High, aber laut meiner phpinfo.php ist mein include pfad /usr/local/lib/php!!!!

      DANKE

      Kommentar


      • #4
        Jetzt habe ich es mal auf /usr/bin/php geändert, jetzt sag das sytem mir: no such file or directory!!!

        Kommentar


        • #5
          Um PHP Skripte über cron (batch) auszuführen, wenn PHP als Apache Modul konfiguriert ist, also keine PHP Executive (CGI) zu Verfügung steht kann man dafür "wget" verwenden.

          Ein Browser ist demnach nicht erforderlich.

          wget http://localhost:80/dir/durchzufuehrendes.php

          http://bs.hhi.de/service/doc/WWW/wget/wget.html

          Es gibt auch noch andere Utilities. Deine Problemmeldung ist für mich nicht so schlüssig. Ich vermute Du willst ein PHP Executable aufrufen. Probiers mal mit wget.

          Kommentar


          • #6
            Hm

            Hm, das verstehe ich jetzt nicht so ganz!!!

            Kommentar


            • #7
              Original geschrieben von dacat
              High, aber laut meiner phpinfo.php ist mein include pfad /usr/local/lib/php!!!!

              DANKE
              Der Include-Path, ja. Mit dem Executable-Path hat das aber erst einmal nichts zu tun.

              Mach es so in deiner crontab:

              * * * * * "/usr/bin/lynx -dump http://deinserver/deineseite.php"

              - Statt den * musst du natürlich auch noch deine Zeitwünsche einsetzen.

              CAT Music Files

              Kommentar


              • #8
                Original geschrieben von hand
                Um PHP Skripte über cron (batch) auszuführen, wenn PHP als Apache Modul konfiguriert ist, also keine PHP Executive (CGI) zu Verfügung steht kann man dafür "wget" verwenden.

                Ein Browser ist demnach nicht erforderlich.

                wget http://localhost:80/dir/durchzufuehrendes.php

                http://bs.hhi.de/service/doc/WWW/wget/wget.html

                Es gibt auch noch andere Utilities. Deine Problemmeldung ist für mich nicht so schlüssig. Ich vermute Du willst ein PHP Executable aufrufen. Probiers mal mit wget.
                DANKE DAS KLAPPT BESTENS )

                Kommentar


                • #9
                  lynx wäre zum Beispiel so ein anderes Utility.

                  Kommentar


                  • #10
                    Sorry, wenn ich mich mal hier einklinke, aber das thema PHP-Script über Cronjobs starten lässt mich langsam verzweifeln

                    Ich habe schon sämtliche hier vorgestellten lösungen ausprobiert, aber bislang ohne Erfolg.

                    Es geht um folgendes:
                    Ich habe auf dem Server einen einfachen Formmailer deponiert, der nichts anderes macht, als beim aufruf an mich eine Mail mit dem Inhalt Testmail zu schicken. Rufe ich das file per Browser auf, funktioniert auch alles.
                    Nun möchte ich dieses gerne Zeitgesteuert per Cronjobs machen.

                    Und da muss irgendwo ein Hacken sein.
                    Ich bekomme zwar eine Bestätigungsmail auf dem server das ein Cronjob ausgeführt wurde, aber nicht die Mail aus dem PHP-File.

                    Muss ich den Pfad zum PHP-File ab Server-Rechner angeben ?

                    Kann mir vielleicht jemand helfen ?

                    Kommentar


                    • #11
                      wget http://localhost:80/dir/durchzufuehrendes.php

                      ... ab Webserver-Root

                      Kommentar


                      • #12
                        Das versuche ich ja die ganze Zeit.

                        Angenommen die datei liegt im Ordner web und heisst mail.php

                        Dann müsste ich also eingeben
                        wget http://localhost:80/web/mail.php
                        Damit mail.php gestartet wird.

                        Aber ich bekomme jedesmal die Meldung "Error 404 not found"

                        Kommentar


                        • #13
                          Ich weiß nicht wie die Konfiguration Deines Web-Servers aussieht. Vielleicht arbeitest Du mit virtuellen Domains und da liegt dann das jeweilige Verzeichnis eben woanders.

                          Vielleicht ist es bei Dir auch nur
                          wget http://localhost/mail.php

                          Wenn Du nicht über Loopback zugreifen kannst, dann halt von Innen nach Außen und von dort auf den Host.

                          Probier es einmal mit wget http://www.deindomain.??/web/mail.php

                          Wie die HTTP-ROOT tatsächlich definiert ist steht in der httpd.conf

                          Kommentar


                          • #14
                            Hey SUUUUUPER Vielen Dank.

                            Das hat funktioniert *freu* (das mit "Von innen nach aussen" )

                            Aber wie baue ich das jetzt in meine Crontab ein, damit ich es zeitlich steuern kann.

                            In etwas so ?

                            0 1 * * * wget http://............

                            Sorry wenn ich lästig werde

                            Kommentar

                            Lädt...
                            X