Betalningsmetoder Abuse

Cron i Linux: vad är det?

26.02.2023, 13:13

Cron är ett verktyg för schemaläggning av uppgifter i operativsystemet Linux. Det gör att du kan köra skript eller kommandon automatiskt vid vissa tidpunkter, intervall eller händelser.

Hur använder man det?

För att använda Cron måste du skapa en crontab-fil som innehåller en lista över uppgifter och tidsintervaller när de ska köras. Varje uppgift i crontab är en sträng som består av fem fält åtskilda av mellanslag:

*     *     *     *     *  command_to_execute
-     -     -     -     -
|     |     |     |     |
|     |     |     |     +----- day of the week (0 - 6) (Sunday = 0 or 7)
|     |     |     +------- month (1 - 12)
|     |     +--------- day of the month (1 - 31)
|     +----------- hour (0 - 23)
+------------- minutes (0 - 59)

Om till exempel fältet minutes innehåller en * kommer uppgiften att köras varje minut. Om du vill ange ett specifikt värde för ett fält, t.ex. varje dag kl. 03.00, skriver du 0 3 * * * * *.

Om du vill skapa eller ändra en crontab-fil använder du kommandot crontab -e. Varje användare kan ha sin egen crontab-fil, liksom systemfilen /etc/crontab, som innehåller uppgifter som körs som rotanvändare.

Det finns ett cronjob-kommando som gör att du kan köra uppgifter inuti Docker-containrar. Det fungerar på samma sätt som crontab, men uppgifter kan köras inuti behållaren istället för värdsystemet.

Använda Cron: en steg-för-steg-algoritm

Följ dessa steg för att börja använda Cron i Linux:

1. Öppna en terminal och skriv kommandot crontab -e. Detta öppnar crontab-filen för den aktuella användaren.

2. Lägg till en uppgift i crontab-filen enligt det fältformat som beskrivs ovan. Om du t.ex. vill köra skriptet every_hour.sh varje timme lägger du till raden 0 * * * * * * /path/to/every_hour.sh.

3. Spara dina ändringar och stäng filen.

4. Kontrollera att uppgiften har lagts till i crontab med hjälp av kommandot crontab -l. Det visar en lista över alla uppgifter som har lagts till i crontab.

5. Kontrollera att uppgiften körs som planerat med kommandot tail -f /var/log/syslog. Du kommer att se utdata som är relaterade till uppgiftens utförande.

6. Om du vill ta bort en uppgift från crontab använder du kommandot crontab -r.

Det finns några viktiga punkter att tänka på:

  • Du kan lägga till både skript och kommandon i crontab. Men om du vill köra ett skript måste du se till att det har exekveringsbehörighet(chmod +x /path/to/script.sh).
  • Om du vill att uppgiften ska köras med root-användarrättigheter använder du kommandot sudo crontab -e för att öppna crontab-filen för root-användaren.
  • se till att de kommandon och skript du kör finns på rätt plats och har rätt läs- och körrättigheter.

Observera att den tid som anges i crontab kommer att överensstämma med tiden på den server som kör Cron. Om du använder en fjärrserver ska du kontrollera att tiden på servern är korrekt konfigurerad.