2013-03-18 6 views
20

Ho creato un job cron in AWS EC2 ma non funziona.Come scrivere cron job nel server AWS EC2

ho seguito i passaggi qui sotto per creare scheda cron:

  • Fase 1: mi sono collegato a AWS EC2 Instace
  • fase 2: crontab -e
  • Fase 3: modalità di inserimento
  • Fase 4: entrai * * * * * php/var/www/html/welcome.php (Per eseguire ogni min.)
  • Fase 5: :wq

La scheda Cron viene creata ma non in esecuzione.

Per favore qualcuno può aiutarmi se c'è qualche script PHP significa per favore forniscimi. Devo dare spazi tra ogni stella?

+0

spazio mancante tra il 'php' e'/var/www/html/benvenuti.php' –

+0

Grazie per la tua risposta, sì ho dato spazio ora anche non funzionante –

+0

hai provato 'php/var/www/html/welcome.php' direttamente nel terminale? –

risposta

40

Prima di tutto, è necessario mettere uno spazio tra le php e /var:

Da

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

a

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

Quindi, è meglio utilizzare /bin/php invece di php. Per determinare dove si trova l'eseguibile php, digitare which php nella tua console, ti darà il percorso del file. Così diventerà qualcosa di simile:

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

più cose:

  • di controllo se crontab viene salvato correttamente? Digitare crontab -l. La tua nuova linea di crontab dovrebbe essere lì.
  • è lo script esattamente in questa dir? Prova ls -l /var/www/html/welcome.php.
  • è lo script in esecuzione se si esegue dalla console? Prova /bin/php var/www/html/welcome.php per vedere se si tratta di un problema di script o crontab.
  • lo script ha la modalità di esecuzione? Prova chmod 755 /var/www/html/welcome.php

Tienici aggiornati in modo che possiamo trovare ciò che può causare l'errore.

+0

Grazie. Mi sta lavorando –

+0

Ho due downvotes. Posso avere qualche suggerimento su come migliorare la risposta? – fedorqui

+0

Vale la pena notare che * * * * * indica ogni minuto. Ecco qualche documentazione di Ubuntu per maggiori informazioni su tempistiche: https://help.ubuntu.com/community/CronHowto –

2

L'esecuzione di cron su EC2 non è diversa dall'esecuzione su qualsiasi server * nix, per quanto ne so. Vorrei verificare i messaggi di sistema per eventuali errori. È inoltre possibile reindirizzare stderr/stdout su un file come in

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

e verificare eventuali problemi per i principianti.

3

può essere un troppo tardi, ma comunque se si intende eseguire lo script ogni minuto il comando dovrebbe probabilmente essere

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