Komma igång med cron
I cPanel finns Cron-hantering
under kategorin Avancerat
.
Välj tidpunkt då du vill att cron-jobbet skall köras och fyll i ditt kommando och klicka sedan på knappen Lägg till nytt cron-jobb
.

Kommandot ska ha detta format:
/sökväg/till/programmet /home/dittanvändarnamn/sökväg_till_scriptet > /dev/null 2>&1
Om du till exempel ska köra ett PHP-script kan det ser ut så här:
/etc/cl.selector/php /home/dittanvändarnamn/script.php > /dev/null 2>&1
Cronjobb mot hemsida/URL
Om du använder ett system på din hemsida som behöver cronjobb som körs mot en viss URL så kan du inte bara lägga in URL’en som kommando i cronjobbet, utan du behöver använda kommandot wget
. Detta säger till servern att besöka URL’en när cronjobbet körs, precis som om du hade surfat mot den själv via en webbläsare. Du anger alltså kommandot enligt följande:
wget -O /dev/null -o /dev/null "https://www.mindomän.se/kommandot"
Byt ut https://www.mindomän.se/kommandot
mot den fullständiga adressen som man surfar mot för att köra jobbet. Glöm inte att ha kvar citationstecknen, annars är risken stor att det inte kommer fungera.
Hantera output
Du kan välja att det ska skickas ett mail till dig varje gång cron-jobbet körs, detta kan vara bra om du printar ut info om till exempel huruvida jobbet utfördes korrekt eller inte. Det kan även vara bra i felsökningssyfte, om cron-jobbet inte fungerar som du ska kan du få ut värdefulla felmeddelanden på det viset. Du kommer dock behöva ta bort ”> /dev/null 2>&1” för att det ska fungera så att det istället ser ut så här:
/etc/cl.selector/php -q /home/dittanvändarnamn/sökväg_till_scriptet.php
Sedan kan du i fältet E-post
ange den e-postadress som du vill att mailen ska skickas till.
OBS! Om du ska köra wget
med ett cron-jobb och inte vill att det ska genereras någon output behöver du skicka båda -o och -O till /dev/null, t.ex:
wget -O /dev/null -o /dev/null "https://www.mindomän.se"
Överlappande cron-jobb
Ett problem som ofta uppstår är att man inte vet exakt hur länge cron-jobbet behöver köras. T.ex. om du har ett cron-jobb som körs klart på tre minuter och det körs var femte minut. Det är inga problem, då hinner det alltid köras klart innan det körs igång igen. Men tänk om det körs var femte minut men ibland tar det sju minuter innan det hinner klart. Då kommer cron-jobbet hinna köras ännu en gång innan den föregående körningen är klar. Detta kan orsaka alla möjliga problem och är något som vi vill undvika.
Det finns dock en lösning och det är Flock. Flock skapar en låsfil när cron-jobbet körs igång, om den låsfilen finns kvar även vid nästa körning så kommer ditt kommando inte köras. När ditt cron-jobb har kört klart så försvinner låsfilen.
Du kan använda Flock t.ex. så här:
/usr/bin/flock -w 1 /tmp/cron.lock /etc/cl.selector/php -q /home/dittanvändarnamn/sökväg_till_scriptet.php
/usr/bin/flock
är sökvägen till Flock-binären och /tmp/cron.lock
är sökvägen till låsfilen, inget av detta behöver ändras. Allt efter låsfilen är vad du vill köra med cron-jobbet så det behöver du såklart anpassa efter dina behov.