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.
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.
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å:
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).sudo crontab -e för att öppna crontab-filen för root-användaren.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.