cronjob
Hej
Jeg har lidt issues med et cronjob jer gerne vil have til at køre på et bestemt tidspunkt, så tænkte på om der var nogen der gad at hjælpe mig.
Jeg har et script jeg gerne vil køre mandag-fredag kl. 07.00. Det jeg har prøvet er:
* 07 * * 1-5 /home/bruger/script.sh
Det gider så ikke at virke. Jeg har prøvet at eksekvere scriptet manuelt og det virker fint. Gør jeg noget forkert, skal man genstarte cron eller er der fejl i ovenstående?
På forhånd tak
mvh flennart
Jeg har lidt issues med et cronjob jer gerne vil have til at køre på et bestemt tidspunkt, så tænkte på om der var nogen der gad at hjælpe mig.
Jeg har et script jeg gerne vil køre mandag-fredag kl. 07.00. Det jeg har prøvet er:
* 07 * * 1-5 /home/bruger/script.sh
Det gider så ikke at virke. Jeg har prøvet at eksekvere scriptet manuelt og det virker fint. Gør jeg noget forkert, skal man genstarte cron eller er der fejl i ovenstående?
På forhånd tak
mvh flennart
Kommentarer4
Det klassiske problem ved
Det snyder til at PATH eller andre vitale environment-variable er forskellige.
For at debugge nærmere, så forsøg at pipe output af scriptet (inkl. stderr fejl) over i en fil til gennemlæsning senere.
Fx:
* 07 * * 1-5 /home/bruger/script.sh &> /home/bruger/cronoutput.txt
Hvis du ikke selv kan afkode fejloutputtet, så post det gerne her inkl. dit script :)
Hej igen
Fik løst problemet
Fik løst problemet med din hjælp, mange tak for det.
I mit script har jeg en sendmail kommando der kigger i en fil der indeholder hvem mail skal sendes til.
Jeg havde ikke angivet den fulde sti til hvor den fil er placeret, så når jeg lavede en > /home/bruger/cronoutput.txt, så indeholdte den intet.
Efter jeg angav den fulde sti virkede mit script, så du skal have mange tak for hjælpen.
mvh flennart.
Du har ikke fortalt cron
Løsninger:
1) angiv eksplicit i cron hvad der skal køre scriptet
* 7 * * 1-5 /bin/bash /home/bruger/script.sh
2) angiv at scriptet kan eksekveres ved at tilføje "shebang" og sætte execute flag med chmod
shebang, tilføj til første linie af dit script: #!/bin/bash
chmod +x /home/bruger/script.sh
* 07 * * 1-5
* 07 * * 1-5 /home/bruger/script.sh
Vil du have den til at køre hvert eneste minut mellem kl. 7 og 7.59?
Ellers så burde du nok sætte dit minut-tal til 0 i stedet for * :)
Altså:
0 07 * * 1-5 /home/bruger/script.sh