Domanda

Ho seguito il suggerimento in questa domanda

come io sto usando Django, ho impostato lo script per data e ora di ogni esecuzione dello script nel db negozio, ma nessuna voce è stato ancora memorizzato nel database.


C'è un modo per capire, oltre a digitare "top" e la ricerca attraverso?

È stato utile?

Soluzione

In primo luogo, sarebbe probabilmente configurare cron per posta da soli qualsiasi uscita utilizzando MAILTO:

In / etc / crontab:

MAILTO=username

In secondo luogo, io di solito aggiungere qualcosa al mio script che (quasi) non può assolutamente fallire, come il seguente:

#!/bin/sh
echo "$0 ran on `date +%c`" >> /tmp/crontab_test.log

# ... rest of program

Se stai chiamando uno script Python direttamente da cron, si potrebbe fare qualcosa di simile o di creare uno script di shell wrapper.

Altri suggerimenti

Se si dispone di sendmail installato, è possibile aggiungere quanto segue al '/ etc / aliases'

root: your_name@domain.com

Dopo aver fatto questo, aggiornare gli alias eseguendo questo comando:

sudo newaliases

Cron automaticamente vi mail ogni volta che un lavoro viene eseguito. Non c'è bisogno di specificare che nel file crontab.

Inoltre, assicuratevi di test le vostre capacità e-mail (per esempio assicurarsi che siano in grado di inviare messaggi di posta elettronica dal server) e, infine, creare un cronjob banale e test se si riceve una e-mail.

Non date per scontato!

Oltre a impostare cron per inviare e-mail, è possibile inviare l'output di cron per un impianto di log syslog separato aggiungendo quanto segue al /etc/syslog.conf.

# Log cron stuff 
cron.*                                                  /var/log/cron.log 

Questo dovrebbe registrare un messaggio per /var/log/cron.log ogni volta che un lavoro viene eseguito.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top