Om det inte ser ut som att cron körs, läs /var/log/syslog och se om cron finns där.
Jag såg att cron sagt:
(CRON) info (No MTA installed, discarding output)
Detta gör att ditt skript inte körs på grund av att en mailserver inte är konfigurerad. Antingen konfigurerar man upp den eller så lägger man till MAILTO="" i crontab -e.
För att få output från ett skript som körs via cron skriver man något i stil med:
*/5 * * * * /path/to/script.sh > /path/to/logfile.log 2>&1
Testa cronjob tycker jag går snabbast på det här sättet (tar gärna emot förslag på en förbättrad metodik):
- date för att se serverns klocka.
- crontab -e
- kopiera jobbet du vill köra till en ny rad. Skriv in serverns klockslag men lägg på 1 eller två minuter. 57 9 * * * /scriptet.sh exempelvis. Spara crontab.
- date igen för att se om cronjobbet borde ha körts.
- Öppna /var/log/syslog och se om cronjobbet körts utan problem. Öppna också loggfilen till det specifika skriptet. tail -f /var/log/loggfil fungerar helt ok.
Två till saker att tänka på om crontabs.
- Den kör med begränsade miljövariabler. Skriv alltid hela sökägen till allt!
- Avsluta alltid med en tom rad längst ner. Cronjobs kan annars ignorera jobbet.
Lämna ett svar