Komme i gang med cron
I cPanel er tilgjengeligCron-hantering
under kategorienAvancerat
.
Velg tidspunktet du vil at cron-jobben skal kjøre og fyll inn kommandoen din, og klikk deretter på knappenLägg till nytt cron-jobb
.
Kommandoen skal ha dette formatet:
/path/to/the program /home/yourusername/path_to_the_script > /dev/null 2>&1
Hvis du for eksempel skulle kjøre et PHP-skript, kan det se slik ut:
/etc/cl.selector/php /home/dittbrukernavn/script.php > /dev/null 2>&1
Cron jobb mot nettside/URL
Hvis du bruker et system på nettstedet ditt som trenger cron-jobber som kjører mot en bestemt URL, kan du ikke bare legge inn URL-en som en kommando i cron-jobben, men du må bruke kommandoenwget
. Dette forteller serveren om å besøke URL-en når cron-jobben kjører, akkurat som om du hadde surfet til den selv via en nettleser. Så du skriver inn kommandoen som følger:
wget -O /dev/null -o /dev/null "https://www.mindomän.se/kommandot"
erstattehttps://www.mindomän.se/kommandot
mot den fullstendige adressen som er bla gjennom for å kjøre jobben. Ikke glem å beholde anførselstegnene, ellers er det stor risiko for at det ikke fungerer.
Administrer utdata
Du kan velge å få tilsendt en mail hver gang cron-jobben kjøres, dette kan være bra om du skriver ut info om for eksempel om jobben ble utført riktig eller ikke. Det kan også være bra for feilsøkingsformål, hvis cron-jobben ikke fungerer som du skal, kan du få verdifulle feilmeldinger på den måten. Du må imidlertid fjerne «> /dev/null 2>&1» for at det skal fungere slik at det i stedet ser slik ut:
/etc/cl.selector/php -q /home/dittbrukernavn/sti_til_skriptet.php
Da kan du i feltenE-post
skriv inn e-postadressen du vil at e-posten skal sendes til.
MERK FØLGENDE! Hvis du skal kjørewget
med en cron-jobb og ikke vil at noen utdata skal genereres, må du sende både -o og -O til /dev/null, f.eks:
wget -O /dev/null -o /dev/null "https://www.mindomän.se"
Overlappende cron-jobber
Et problem som ofte dukker opp er at du ikke vet nøyaktig hvor lang tid cron-jobben trenger å løpe. For eksempel. hvis du har en cron-jobb som fullføres på tre minutter og den kjøres hvert femte minutt. Det er ingen problemer, da rekker den alltid å kjøre ferdig før den starter opp igjen. Men hva om det går hvert femte minutt, men noen ganger tar det sju minutter å fullføre. Da vil cron-jobben rekke å kjøre en gang til før forrige kjøring er ferdig. Dette kan forårsake alle slags problemer og er noe vi ønsker å unngå.
Det finnes imidlertid en løsning, og det er Flock. Flock oppretter en låsefil når cron-jobben kjøres, hvis den låsefilen fortsatt er der ved neste kjøring, vil ikke kommandoen din bli utført. Når cron-jobben er ferdig, vil låsefilen forsvinne.
Du kan bruke Flock f.eks. som dette:
/usr/bin/flock -w 1 /tmp/cron.lock /etc/cl.selector/php -q /home/ditt brukernavn/sti_til_skriptet.php
/usr/bin/flock
er banen til Flock binær og/tmp/cron.lock
er banen til låsefilen, ikke noe av dette må endres. Alt etter låsefilen er det du vil kjøre med cron-jobben, så selvfølgelig må du tilpasse det til dine behov.