Hvorfor virker crontab-scripts ikke?
Ofte udføres crontab
-scripts ikke efter planen eller som forventet. Der er mange grunde til det:
- forkert crontab notation
- problem med tilladelser
- miljøvariabler
Denne fællesskabswiki har til formål at samle de vigtigste årsager til at crontab
-scripts ikke bliver udført som forventet. Skriv hver årsag i et separat svar.
Medtag venligst én årsag pr. svar - detaljer om hvorfor det ikke udføres - og rettelse(r) for denne ene årsag.
Skriv venligst kun cron-specifikke problemer, f.eks. kommandoer, der udføres som forventet fra shell'en, men som udføres fejlagtigt af cron.
530
3
Min største fejl: Hvis du glemmer at tilføje en newline i slutningen af
crontab
-filen. Med andre ord skal crontab-filen slutte med en tom linje.Nedenfor er det relevante afsnit i man-siderne for dette problem (
man crontab
og spring derefter til slutningen):Absolut sti skal bruges til scripts:
For eksempel:
/bin/grep
skal bruges i stedet forgrep
:I stedet for:
Dette er især vanskeligt, fordi den samme kommando vil fungere, når den udføres fra shell. Årsagen er, at
cron
ikke har den sammePATH
miljøvariabel som brugeren.Cron kalder et script, som ikke kan udføres.
Ved at køre
chmod +x /path/to/scrip
bliver scriptet eksekverbart, hvilket burde løse problemet.