Crontab
crontab - Hantera schemalagda uppgifter
Kommandot `crontab` används för att installera, visa och ta bort schemalagda uppgifter (cronjobb) för användare i Unix-liknande operativsystem.
Syntax
crontab [ALTERNATIV] [FIL]
Beskrivning
Kommandot `crontab` används för att hantera schemalagda uppgifter som körs automatiskt vid specificerade tider och datum. Varje användare kan ha sin egen crontab-fil som definierar dessa uppgifter.
Alternativ
Kommandot `crontab` stöder flera alternativ som kan användas för att justera hur schemalagda uppgifter hanteras:
- -e, --edit - Redigera användarens crontab-fil med standardredigeraren.
- -l, --list - Lista innehållet i användarens crontab-fil.
- -r, --remove - Ta bort användarens crontab-fil.
- -i, --interactive - Begär bekräftelse innan crontab-filen tas bort.
- -u ANVÄNDARE - Ange crontab-filen för en specifik användare (endast root).
- --help - Visa hjälpmeddelande och avsluta.
- --version - Visa versionsinformation och avsluta.
Exempel
Här är några praktiska exempel som visar hur du kan använda `crontab`-kommandot:
- För att redigera din egen crontab-fil:
crontab -e
- För att lista innehållet i din egen crontab-fil:
crontab -l
- För att ta bort din egen crontab-fil:
crontab -r
- För att redigera crontab-filen för en specifik användare (som root):
sudo crontab -u användarnamn -e
- För att ta bort crontab-filen för en specifik användare (som root):
sudo crontab -u användarnamn -r
Crontab Syntax
En crontab-fil består av rader som definierar uppgifter och när de ska köras. Varje rad följer formatet:
* * * * * kommando
Där fälten representerar:
- Minut (0-59)
- Timme (0-23)
- Dag i månaden (1-31)
- Månad (1-12)
- Dag i veckan (0-7) (0 och 7 är båda söndag)
Till exempel:
- För att köra ett skript varje dag kl. 3:30:
30 3 * * * /path/to/script.sh
- För att köra ett skript varje måndag kl. 7:00:
0 7 * * 1 /path/to/script.sh
- För att köra ett skript varje timme:
0 * * * * /path/to/script.sh
Skillnader mellan macOS och Linux
Det finns några viktiga skillnader att tänka på när man använder `crontab`-kommandot på macOS jämfört med Linux:
- Standardinstallationer: Både macOS och de flesta Linux-distributioner har `crontab` förinstallerat. På macOS används `cron` som standard för att hantera schemalagda uppgifter.
- Crontab-filens plats: På båda systemen lagras användarnas crontab-filer vanligtvis under /var/spool/cron/crontabs på Linux och under /usr/lib/cron/tabs på macOS.
- Systemd timers: På moderna Linux-distributioner kan `systemd`-timers användas som ett alternativ till `cron` för att hantera schemalagda uppgifter. Detta ger mer flexibilitet och integrering med systemd-ekosystemet.
- Redigerare: Standardredigeraren för `crontab -e` kan variera mellan system. På macOS är det vanligtvis `vim` eller `nano`, medan det på Linux kan vara `nano`, `vim` eller en annan konfigurerad textredigerare.
Det är alltid bra att konsultera `man`-sidan för `crontab` på din specifika plattform för att se vilka alternativ och funktioner som är tillgängliga och hur de används.
Felsökning
Om du får ett felmeddelande när du använder `crontab`, kontrollera följande:
- Att du har tillräckliga rättigheter för att redigera crontab-filen (använd `sudo` om nödvändigt).
- Att du använder rätt syntax och alternativ för ditt specifika system.
- Att crond-tjänsten är igång (kan kontrolleras med `systemctl status cron` på Linux).
Se även
- cron - Den faktiska tjänsten som kör schemalagda uppgifter.
- at - Schemalägg kommandon för en engångskörning.
- systemd-timer - Alternativ till cron för att schemalägga uppgifter på moderna Linux-distributioner.