Hvorfor fungerer ikke crontab-skript?
Ofte kjøres ikke crontab
-skript etter planen eller som forventet. Det er mange grunner til det:
- feil crontab-notasjon
- problemer med tillatelser
- miljøvariabler
Denne fellesskapswikien tar sikte på å samle de viktigste årsakene til at crontab
-skript ikke kjøres som forventet. Skriv hver årsak i et eget svar.
Vennligst ta med én årsak per svar - detaljer om hvorfor det ikke kjøres - og løsning(er) for den ene årsaken.
Vennligst skriv bare cron-spesifikke problemer, f.eks. kommandoer som utføres som forventet fra skallet, men som utføres feil av cron.
530
3
My top gotcha: Hvis du glemmer å legge til en ny linje på slutten av
crontab
-filen. Med andre ord skal crontab-filen avsluttes med en tom linje.Nedenfor er det relevante avsnittet i man-sidene for dette problemet (
man crontab
og hopp deretter til slutten):Absolutt sti skal brukes for skript:
For eksempel bør
/bin/grep
brukes i stedet forgrep
:I stedet for:
Dette er spesielt vanskelig, fordi den samme kommandoen vil fungere når den kjøres fra skallet. Årsaken er at
cron
ikke har sammePATH
miljøvariabel som brukeren.Cron kaller et skript som ikke kan kjøres.
Ved å kjøre
chmod +x /path/to/script
blir skriptet kjørbart og bør løse dette problemet.