cron job funktiniert aber

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von u75web, 18.09.2013.

  1. #1 u75web, 18.09.2013
    Zuletzt bearbeitet: 18.09.2013
    u75web

    u75web Jungspund

    Dabei seit:
    03.09.2010
    Beiträge:
    12
    Zustimmungen:
    0
    Hallo zusammen,

    auf unserem Server läuft folgender Cron-job:
    Code:
    30 4 * * *      www-data        /usr/bin/php5 /var/www/die_domain1/php_inclu/ordner_pfad/import.php >> /tmp/import_4_30.log 2>&1
    
    45 9 * * *      www-data        /usr/bin/php5 /var/www/die_domain1/php_inclu/ordner_pfad/import.php >> /tmp/import_9_45.log 2>&1
    
    35 14 * * *     www-data        /usr/bin/php5 /var/www/die_domain1/php_inclu/ordner_pfad/import.php >> /tmp/import_14_35.log 2>&1
    
    40 21 * * *     www-data        /usr/bin/php5 /var/www/die_domain1/php_inclu/ordner_pfad/import.php >> /tmp/import_21_40.log 2&>1
    Dieser befindet sich in der Datei /etc/cron.de/die_domain1.

    Der Vorgang.
    Die php Datei import.php, holt von einem entferntem Server eine zip Datei ab, die zip Datei soll ausgepackt werden und der Inhalt in die DB geschrieben werden.

    Aber, die zip Datei wird abgeholt, aber nicht immer entpackt, wenn die Datei nicht entpackt wird, wird der Inhalt auch nicht in die DB geschrieben.
    Das Abholen funktioniert immer aber das entpacken und schreiben der Daten in die DB nicht.
    Wo her weiß ich das das abholen funktioniert, das Datum und die Uhrzeit der Datei im Ordner stimmen mit der corn-job Angaben.

    Wie oben sichtbar, sollen die Fehlermeldungen in die log Dateien geschrieben werden, die Logdateien werden zwar erstellt aber sie sind leer!

    Meine Frage, ist der Aufruf in des cron-job falsch, dass keine Fehlermeldung in die Log Datei nicht übergeben werde?
    Denn rufe ich den php Scirpt folgend auf:

    Code:
    */10 * * * *      www-data        /usr/bin/php5 /var/www/die_domain1/php_inclu/ordner_pfad/import.php >> /tmp/import_10_min.log 2>&1
    Läuft der Import sauber durch, dh. die Zip Datei wird abgeholt, entpackt und die Daten werden in die DB geschrieben!
    Es wird auch eine leere import_10_min.log erstellt.

    Wie kann ich den cron-job gesprächiger machen?

    Debian GNU/Linux 6.0.6 (squeeze)
    PHP 5.3.3-7+squeeze17 w

    Grüße
    u75web
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 HeadCrash, 18.09.2013
    HeadCrash

    HeadCrash Routinier

    Dabei seit:
    16.05.2009
    Beiträge:
    482
    Zustimmungen:
    1
    Ort:
    Bayern
    1. Schauen ob der User "www-data" überhaupt in die Logfiles schreiben darf.
    Gerne wird sowas mal eben als root getestet und die Logdateien liegen mit falschen Berechtiungen herum.

    2. Debugausgaben in die "import.php" mit einbauen.
    Der Cronjob schreibt nur das in Logs was irgendwo als Ausgabe aus einem Skript purzelt.

    3. Prinzipjell wird alles was ein Cronjob an Ausgaben erzeugt per Email verschickt.
    Von daher mal Testweilse die Ausgaben via "MAILTO=gueltige@emailadresse" per Email verschicken lassen.


    mfg
    HeadCrash
     
  4. #3 Remidemi, 18.09.2013
    Remidemi

    Remidemi Routinier

    Dabei seit:
    17.03.2008
    Beiträge:
    352
    Zustimmungen:
    0
    Ort:
    Südpfalz
    Cron Meldungen müssten sofern nichts am syslog geändert unter /var/log/syslog zu finden sein.

    Ansonsten schließe ich mich HeadCrash an...
     
  5. u75web

    u75web Jungspund

    Dabei seit:
    03.09.2010
    Beiträge:
    12
    Zustimmungen:
    0
    Hi,
    zu 1.
    der User "www-data" darf in /tmp Verzeichnis schreibe, die Dateiene sind da.
    Jetzt habe ich den User in der Datei "/etc/cron.de/die_domain1" von www-data auf root geändert, um 14.35 Uhr weiß ich mehr.

    zu 2.
    Ja, das kann ich noch machen.

    mft
    u75web
     
  6. u75web

    u75web Jungspund

    Dabei seit:
    03.09.2010
    Beiträge:
    12
    Zustimmungen:
    0
    Noch ist mir was eingefallen.
    Ist es wichtig ob in der aufgerufene PHP Datei am Anfang folgender Coder vorhanden ist?

    Code:
    #!/usr/bin/php
    Beeinflusst das den cron-job?
     
  7. #6 tgruene, 18.09.2013
    tgruene

    tgruene Routinier

    Dabei seit:
    02.02.2012
    Beiträge:
    418
    Zustimmungen:
    0
    Der Befehl in der Crontab wird ueber die Shell /bin/sh interpretiert, sofern du SHELL nicht definiert hast. Weisst Du, ob Deine /bin/sh das Konstrukt '2>&1' interpretiert? Wenn ja, ist das Problem wohl eher bei /usr/bin/php5 zu suchen. Kannst Du den Fehler reproduzieren um rauszufinden, ob php5 ueberhaupt eine Fehlermeldung ausgibt?

    zum "#!...": Da Du das Skript mit dem Interpreter php5 aufrufst, ist es egal, ob "#!..." in der Datei steht oder nicht.
     
  8. u75web

    u75web Jungspund

    Dabei seit:
    03.09.2010
    Beiträge:
    12
    Zustimmungen:
    0
    Nein weiß ich nicht, wie kann ich das her raus finden?

    So richtig verstehe ich Dich nicht.
    Ich kann den Script jeder Zeit "anscheisen" entweder per php import.php oder in der corn.de/die_domain1 in in bestimmten Zeitintervall laufen lassen.
    Das habe ich schon früher gemacht, Fehler wurden in der Console oder in der log Datei nicht ausgeben.

    Alle Fehlermeldung sind im Script "abgefangen" oder die Ausgaben werden an die weiter gegeben!


    Im Augenblick ist kein Interpreter in der Datei, sondern sie fängt nur mit <?php an.


    Nach dem ich den User auf root geändert habe ist das Script ebenfalls durch gelaufen, die log Datei wurde aber nicht geschrieben.
     
  9. #8 HeadCrash, 19.09.2013
    HeadCrash

    HeadCrash Routinier

    Dabei seit:
    16.05.2009
    Beiträge:
    482
    Zustimmungen:
    1
    Ort:
    Bayern
    Erzeugt das Skript überhaupt ausgaben?
    Wird die Logdatei angelegt, wenn sie nicht vorhanden war?
     
  10. u75web

    u75web Jungspund

    Dabei seit:
    03.09.2010
    Beiträge:
    12
    Zustimmungen:
    0
    Janein, es wird nur eine leere log Datei erzeugt, wenn ich den cron-job als www-data User laufen lasse, als root wird keine erzeugt!
     
  11. #10 tgruene, 19.09.2013
    Zuletzt bearbeitet: 19.09.2013
    tgruene

    tgruene Routinier

    Dabei seit:
    02.02.2012
    Beiträge:
    418
    Zustimmungen:
    0
    Wenn es keine Ausgabe gibt, dann stimmt doch alles, wenn die Dateien leer sind.
     
  12. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  13. Lord_x

    Lord_x Guest

    @u75web

    Beim letzten Cronjob stimmen die Zeichen zum Schluss nicht!
    Code:
    ... import_21_40.log 2&>1
    ... import_21_40.log 2>&1
    
     
  14. u75web

    u75web Jungspund

    Dabei seit:
    03.09.2010
    Beiträge:
    12
    Zustimmungen:
    0
    Hi,

    Lord_x
    Danke für die Anmerkung, habe es korrigiert.

    Das Problem habe ich anderweitig gelöst, als erstes habe ich den PHP-Skritp umgebaut und die Ausführungszeit habe ich von 4.30 auf 5.15 Uhr versetzt.
    Danke für Eure Unterstützung.

    Grüße
    u75web
     
Thema:

cron job funktiniert aber

Die Seite wird geladen...

cron job funktiniert aber - Ähnliche Themen

  1. [Erledigt] Shell-Skript lässt sich nicht mit Cron ausführen

    [Erledigt] Shell-Skript lässt sich nicht mit Cron ausführen: Hallo, ich hoffe ihr könnt mir helfen. Ich entwerfe im Moment ein Skript, welches den Callmonitor (Telnet) auf meiner FritzBox abfragt und wenn...
  2. Bräuchte Hilfe bei Backupscript mittels Bash und cronjob

    Bräuchte Hilfe bei Backupscript mittels Bash und cronjob: Es soll für bestimmte Ordner Archivierung aller Dateien(Logfiles), die älter als 30 Tage sind machen. Am besten einmal täglich nachts irgendwann....
  3. Reihenfolge der crond Syslog einträge

    Reihenfolge der crond Syslog einträge: Hallo, bin an einer Fehlersuche dran und stell mir gerade folgende Frage. Was ist eigentlich zuerst da? Ein cron Logeintrag unter /var/log/cron...
  4. KDE Kontact WebDAV komplett syncronisieren

    KDE Kontact WebDAV komplett syncronisieren: Hallo, ich hoffe Ihr könnt mir bei diesem Problem weiterhelfen da ich einfach keine Lösung dafür finde. Ich habe einen WebDAV Server auf den ich...
  5. Cronjob

    Cronjob: Hallo Bin mir nicht sicher ob dass so Möglich ist... Ich möchte dass ein Job von 02:00 Uhr Nachts bis 03:00 Uhr Nachts NICHT läuft. *...