2013-03-18 7 views
20

Ich habe einen Cron-Job in AWS EC2 erstellt, aber es funktioniert nicht.Wie schreibe ich Cron Job in AWS EC2 Server

I nachstehenden Schritten gefolgt cron tab zu erstellen:

  • Schritt 1: I angemeldet AWS EC2 instace
  • Schritt 2: crontab -e
  • Schritt 3: Einfügemodus
  • Schritt 4: ich trat * * * * * php/var/www/html/welcome.php (Um jeden min laufen.)
  • Schritt 5: :wq

Registerkarte Cron erstellt, aber nicht ausgeführt.

Bitte können Sie mir helfen, wenn es PHP Skript gibt, bitte geben Sie mir. Muss ich zwischen jedem Stern Leerzeichen geben?

+0

Fehlende Raum zwischen 'php' und'/var/www/html/willkommen.php' –

+0

Vielen Dank für Ihre Antwort, Ja, ich habe Platz jetzt auch nicht funktioniert –

+0

hast du 'php/var/www/html/welcome.php' direkt im Terminal versucht? –

Antwort

40

Zunächst einmal benötigen Sie einen Raum zwischen php und /var zu setzen:

Von

* * * * * php/var/www/html/welcome.php 

zu

* * * * * php /var/www/html/welcome.php 
      ^

Dann sollten Sie besser /bin/php verwenden, anstatt nur php. Um festzustellen, wo sich die ausführbare Datei php befindet, geben Sie in Ihrer Konsole which php ein. Dadurch erhalten Sie den Dateipfad. So wird es so etwas wie dieses werden:

* * * * * /bin/php /var/www/html/welcome.php 
      ^^^^^^^^ 

Weitere Aktivitäten:

  • überprüfen, ob crontab richtig gespeichert wird? Geben Sie crontab -l ein. Deine neue Crontab-Linie sollte da sein.
  • ist das Skript genau in diesem Verzeichnis? Versuchen Sie ls -l /var/www/html/welcome.php.
  • wird das Skript ausgeführt, wenn Sie von der Konsole aus tun? Versuchen Sie /bin/php var/www/html/welcome.php, um zu sehen, ob es sich um ein Skript- oder Crontab-Problem handelt.
  • hat das Skript Ausführungsmodus? Versuchen Sie chmod 755 /var/www/html/welcome.php

Halten Sie uns auf dem Laufenden, damit wir finden können, was den Fehler verursachen kann.

+0

Vielen Dank Es funktioniert für mich –

+0

Ich habe zwei downvotes. Kann ich ein paar Tipps bekommen, wie ich die Antwort verbessern kann? – fedorqui

+0

Beachten Sie, dass * * * * * jede Minute anzeigt. Hier ist etwas ubuntu Dokumentation für mehr Hilfe mit Timing: https://help.ubuntu.com/community/CronHowto –

2

Das Ausführen von Cron auf EC2 unterscheidet sich nicht von der Ausführung auf einem * nix-Server - soweit ich weiß. Ich würde die Systemmeldungen auf Fehler überprüfen. Sie können stderr/stdout auch wie in

* * * * * <your script> >> /var/tmp/out.log 2>&1 

in eine Datei umleiten und nach Problemen für Starter suchen.

3

Kann ein zu spät sein, aber sowieso, wenn Sie wollen, sollten das Skript jede Minute der Befehl ausgeführt werden soll wahrscheinlich

* * * * * php /var/www/html/welcome.php