Vad är ett cron-jobb?

Ett cron-jobb är en schemalagd uppgift eller skript som körs automatiskt med vissa intervall.Vad kan ett cron-jobb göra?Ett cron-jobb kan köra kommandon, skript eller program på ett vanligt schema.Detta kan vara användbart för uppgifter som att hålla din dator igång smidigt eller utföra administrativa uppgifter.Hur skapar jag ett cron-jobb?Det finns flera sätt att ställa in ett cron-jobb på Linux.Du kan använda verktyget Cronjob Manager, redigera skalets konfigurationsfil eller använda kommandoraden.Vilken metod ska jag använda?Cronjob Manager-verktyget är enklast att använda och ger mer flexibilitet än att redigera ditt skals konfigurationsfil.För att ställa in en ny Cronjob med Cronjob Manager: 1) Öppna Cron Job Manager genom att klicka på ikonen "Cron Jobs" i systemfältet (eller genom att skriva "crontab -e"). 2) I Cron Job Manager, klicka på knappen "New" för att skapa en ny CronJob. 3) I dialogrutan New CronJob anger du ett namn för din nya CronJob och klickar på OK. 4) I det nyskapade CronJob-fönstret kommer du att se två flikar: Allmänt och Kommandon. 5) På fliken Allmänt ser du information om din nuvarande status (kör eller körs inte), samt alternativ för att ställa in tidsgränser och stoppa/starta dina jobb manuellt. 6) På fliken Kommandon kommer du att se alla kommandon som för närvarande är schemalagda att köras i just denna CronJob. 7) För att lägga till ytterligare ett kommando till den här listan, klicka helt enkelt på det och skriv in dess nödvändiga parametrar i lämpliga fält i kommandofönstret som öppnas (se nedan). 8) För att ta bort befintliga kommandon från den här listan, välj dem helt enkelt och tryck på Delete-tangenten (eller välj Avbryt om du vill spara dina ändringar men inte vill lägga till några nya kommandon). 9) Klicka på OK för att stänga båda fönstren och återgå till huvudskärmen i Crontab där ditt nyskapade jobb nu ska listas under "Aktiva jobb". 10) För att starta/stoppa/starta om det här jobbet omedelbart utan att vänta på att dess schemalagda tidsperiod löper ut: 1) Välj det från listan Aktiva jobb och tryck på Start/Stopp-knappen (eller högerklicka på det och välj Start/Stopp från sammanhanget meny). 2) Om du vill att det här jobbet ska fortsätta att köras även om det inte är aktivt längre (till exempel när systemet går ner på natten): 1a ) Välj det från listan Aktiva jobb och tryck på knappen Lägg till regel... -> Ändra schematyp släpp -ned meny -> Markera alternativet Kör varje dag -> Tryck på knappen Verkställ -> Stäng regelfönster -> Spara ändringar genom att trycka på OK-knappen b ) Högerklicka på den valda posten i listan Aktiva jobb igen -> Lägg till regel... c ) Ändra schematyp rullgardinsmeny -> Markera alternativet Kör på natten d ) Tryck på knappen Verkställ e ) Stäng regelfönstret f ) Spara ändringar genom att trycka på OK-knappen Hur stoppar jag mina nuvarande pågående cron-jobb?För att stoppa alla crons-jobb som för närvarande körs: 1a . Välj Alla objekt i sektionen Running Crons på huvudskärmen Crontab->Högerklicka-> Stoppa

1b .Välj aktuellt jobb från körande Crons-avsnitt på huvudskärmen Crontab->Högerklicka-> Stoppa alla relaterade processer

Hur startar jag om mina nuvarande stoppade cron-jobb?För att starta om alla för närvarande stoppade crons-jobb: 1a . Välj Alla objekt i avsnittet Stoppad Crons på huvudskärmen Crontab->Högerklicka-> Starta om valda processer

1b .Välj aktuellt jobb från sektionen stoppade crons på huvudskärmen Crontab->Högerklicka-> Starta om valda processer. Hur ändrar jag min nuvarande schemalagda tidsperiod för mina nuvarande pågående cron-jobb?Så här ändrar du din nuvarande schemalagda tidsperiod för ett eller flera pågående cron-jobb:1a.

Vad är syftet med ett cron-jobb?

Ett cron-jobb är en schemalagd uppgift eller skript som körs automatiskt med vissa intervall.Cron-jobb kan användas för att automatisera rutinuppgifter, som att uppdatera en onlinedatabas, köra ett program enligt ett schema eller skicka e-postmeddelanden.Cron-jobb kan också användas för att utföra speciella åtgärder när specifika händelser inträffar, som att starta en webbplats när någon loggar in på sitt konto.

Hur ställer du in ett cron-jobb på Linux?

Det finns några olika sätt att ställa in ett cron-jobb på Linux.Du kan använda kommandot crontab för att hantera dina jobb, eller så kan du använda Cron Job Manager.Du kan också använda verktyget Linux Scheduler för att schemalägga dina jobb.Slutligen kan du använda kommandoradsverktyget för att köra dina jobb.

För att hantera dina jobb med crontab-kommandot, öppna först ett terminalfönster och skriv:

crontab -e

Detta öppnar crontab-filen i din nuvarande katalog.Den första raden i den här filen kallas "default", och den ställer in några grundläggande alternativ för att använda kommandot crontab.För att lägga till ett nytt jobb, skriv in:

crontab -e >> mynewjob.cron

Detta skapar en ny post i filen mynewjob.cron som du kan redigera efter behov.För att köra ett jobb anger du bara:

crontab mynewjob.cron

Du kan också ange vilken veckodag ditt jobb ska köras på genom att ange ett valfritt nummer efter "0" (till exempel "0 0 * *"). Du kan också ange vilken tid på dagen ditt jobb ska köras genom att ange ett valfritt nummer efter "*" (till exempel "15 10 * *").

Om du vill ta bort ett jobb från din lista över schemalagda uppgifter anger du bara:

crontab -r mynewjob.cron

Du kan också ta bort enskilda poster från din lista över schemalagda uppgifter genom att ange: ctrl-D (eller CMD-D på Mac) följt av namnet på posten du vill ta bort.Om du bara vill ta bort en specifik uppgift från din lista men inte vill att alla dess relaterade poster raderas också, kan du ange: ctrl-X följt av namnet på posten du vill ta bort utan att ta bort dess relaterade poster också .

Slutligen, om du bara behöver se information om en viss uppgift som för närvarande är schemalagd men som inte körs ännu, skriv in: ctrl-P följt av namnet på uppgiften som du vill ha information om.

Hur ofta körs ett cron-jobb?

Ett cron-jobb är en schemalagd uppgift som körs automatiskt med vissa intervall.Du kan ställa in ett cron-jobb så att det körs en gång varje dag, en gång i veckan eller en gång i månaden.Du kan också ställa in ett cron-jobb så att det bara körs om vissa villkor är uppfyllda.Till exempel kanske du vill att ditt cron-jobb bara ska köras om datorn är på nätström.

Kan ett cron-jobb ställas in så att det körs mer än en gång i timmen?

Ja, ett cron-jobb kan ställas in så att det körs mer än en gång i timmen.För att göra detta, lägg till följande rad i din crontab-fil:

*/1 * * * * /usr/bin/php -f /var/www/html/cronjob.php

Detta gör att php-skriptet som finns på /var/www/html/cronjob.php exekveras varje timme.

Vad händer om du inte anger ett intervall för ditt cronjob?

Om du inte anger ett intervall för ditt cronjob kommer det att köras varje minut.Om du vill att det ska köras oftare kan du lägga till ett tidsuttryck som "*/5" som skulle köra jobbet var femte minut.Om du vill att det ska köras mer sällan kan du lägga till ett nummer som "0 */5" som skulle köra jobbet en gång var femte minut.

Påverkar systemtiden när mitt cron-jobb kommer att köras?

Det finns inget definitivt svar på denna fråga.Beroende på konfigurationen av ditt system kan tiden på dygnet påverka när ditt cron-jobb kommer att köras.Till exempel, om din systemklocka är inställd på UTC, kommer ditt cron-jobb att köras i vilken tidszon din dator än befinner sig i.Om din systemklocka är inställd på lokal tid kommer ditt cron-jobb att köras enligt den lokala tidszonen.

För att avgöra om systemtiden påverkar när ett cron-jobb körs eller inte, måste du titta på din maskins konfiguration.Några vanliga sätt att göra detta är genom att använda kommandot date eller genom att titta på innehållet i /etc/rc.local . Båda dessa metoder kan nås från ett terminalfönster genom att skriva sudo .

Om du vill schemalägga en uppgift som alltid ska köras oavsett aktuell systemtid, kan du använda anacron . anacron är ett program som övervakar ändringar i filer och automatiskt uppdaterar vissa konfigurationer baserat på dessa ändringar.För mer information om anacron, se

.

Jag vill att mitt skript ska köras varje minut, vilket är rätt intervall?

Det finns inget entydigt svar på den här frågan, eftersom intervallet för ett cron-jobb kommer att variera beroende på skriptets specifika behov.Men några tips om hur du ställer in ett lämpligt intervall för ett cron-jobb hittar du nedan.

Först och främst är det viktigt att förstå vilket syfte manuset tjänar och vilken typ av schema det måste hålla sig till.Om skriptet behöver köras regelbundet men har relativt låg effekt (till exempel leta efter ny e-post var femte minut), kan det räcka med ett minutintervall.Å andra sidan, om skriptet kräver mer tid för att slutföra sin uppgift (till exempel bearbetning av stora datamängder), kan ett längre intervall (som varje timme) vara lämpligare.

En annan faktor som bör beaktas när man ställer in ett intervall för ett cron-jobb är hur mycket belastning systemet kan hantera.Om alltför många jobb körs samtidigt kan prestandan bli sämre på grund av ökade bearbetningskostnader.Därför är det viktigt att testa olika intervall för att hitta en som fungerar bäst för det specifika skriptet utan att orsaka för mycket störningar eller laggy beteende.

Slutligen, kom ihåg att inte alla system är konfigurerade på exakt samma sätt; därför kanske vissa parametrar (som ett intervall) inte fungerar korrekt på en maskin kontra en annan.I dessa fall kan det vara nödvändigt att testa olika intervall tills något som fungerar tillförlitligt hittas.

Mitt skript körs inte, vad kan vara fel?

Det kan vara några saker fel.Se först till att skriptet är körbart.För att göra detta kan du använda kommandot chmod för att ändra behörigheterna för filen så att den är läsbar av din dators användarkonto (vanligtvis 755 för filer i Linux) och skrivbar av din dators gruppkonto (vanligtvis 666 för filer i Linux) . Om du inte har tillgång till kommandot chmod kan du prova att använda sudo för att ge dig själv tillåtelse att ändra filen.

Om du fortfarande har problem med att få ditt skript att köra kan det vara något fel med konfigurationen.Du kan kontrollera detta genom att köra skriptet som root—detta låter dig visa och redigera dess konfigurationsfil.Det vanligaste problemet när man ställer in skript är felaktig eller saknad sökvägsinformation; om så är fallet kan du fixa det genom att lägga till lämpliga sökvägar till ditt skripts konfigurationsfil.

Slutligen, se till att din dator har all nödvändig programvara installerad; utan dessa program kanske ditt skript inte fungerar korrekt.Till exempel, för att Cron-jobb ska kunna köras på Linux-system måste Cron installeras och konfigureras korrekt; utan att Cron är installerat eller felaktigt konfigurerat kommer dina skript inte att köras alls.

Linux-användare möter ofta problem när de försöker ställa in sina cron-jobb på grund av bristande kunskap om linux-kommandon som används för jobbhantering som chmod etc., så vi har skrivit den här guiden om hur man ställer in ett cron-jobb linux enkelt och snabbt med hjälp av några grundläggande kommandon som chmod etc.. Hoppas den här guiden hjälper dig!

För att börja med att ställa in en cronjob på linux-system: 1) Öppna terminalfönster2) Skriv följande kommando3) Ange "chmod +x myscript"4) Spara myscript som myscript.sh5) Kör myscript.sh6) Ditt jobb bör nu startas automatiskt varje dag vid midnatt7) För att stoppa ett pågående jobb: skriv "cronjob -f"8 ) För att lista för närvarande aktiva cronjob: skriv "cronjob -l"9 ) För att ta bort nuvarande aktiva cronjob: skriv "cronjob -d"10 ) Kom alltid ihåg att rätt användning av kommandon som nämns ovan är mycket viktiga när du ställer in någon form av skalskriptuppgift på linux-system, så läs noggrant nedanstående handledning innan du påbörjar någon uppgift som är relaterad till skalskript på linux-systemet: - Öppna först terminalfönstret - Skriv följande kommando - EnterNow spara vårt skript som Mitt Skriptnamn För t.ex.:-Spara Mitt Skriptnamn som test_script När det har sparats framgångsrikt stäng terminalfönstret Öppna nu nytt terminalfönster-Skriv följande kommando-EnterDu bör se utdata som liknar Följande skärmbild visar utdata från ovannämnda kommando When executed successfullyabovementionedcommandwill create an executablefile namedtest_scriptinsidecurrentdirectorywhereyourunningitfromnowyoucanstartusingitbyjustexecutingitwithoutany further argumentsLikebelow:(Abovecommandwillruntest_scriptonceinitsinitializationphaseandstopitsrunningimmediatelyaftercompletionofitstask.)Similarlyyoucanexecutemanydifferenttypesofcommandswithsimpleargumentslikestop(),start(),status()etc.(Pleaserememberthattheoutputofthestartingcommandswillbedisplayedinterminalwindowwhiletheoutputofthestoppingcommandswillbedisplayedinnewterminalwindow.

Jag får ett felmeddelande från mitt skript, hur kan jag ta reda på varför?

Det finns några sätt att ta reda på varför ditt skript får ett fel.Ett sätt är att använda kommandot "grep" för att leta efter specifika rader i ditt skript som orsakar problemet.Ett annat sätt är att använda kommandot "log" för att se vad som händer när ditt skript körs.Slutligen kan du också använda kommandot "tail -f" för att titta på resultatet av ditt skript när det körs, så att du kan se om det finns några fel eller oväntat beteende som inträffar.

Kan jag ha mer än ett kommando i mitt Cron Job?12Hur tar jag bort ett Cron-jobb?13Kan utdata från mina kommandon skickas till mig via e-post?

14Hur ser jag till att mitt Cron Job körs vid en viss tidpunkt?15Vilka är några bra exempel på Cron Job?16

Ett cron-jobb är ett program som körs automatiskt vid vissa tidpunkter, vanligtvis baserat på ett schema du ställer in.Du kan använda den för att köra uppgifter som att kontrollera din e-post, ladda ner filer eller köra program.

För att skapa ett cron-jobb, öppna först kommandoradsgränssnittet (CLI) på din dator.Skriv sedan följande kommando: sudo crontab -e Detta öppnar CRONTAB-filen i din textredigerare.Överst i den här filen ser du rader som ser ut så här: # Den här filen innehåller ett eller flera jobb.Varje rad specificerar en åtgärd som ska vidtas av skalet när den körs asynkront # Formatet är: Den första raden i denna fil kallas "jobbnamnet".Det är vad du kommer att använda för att identifiera ditt jobb när du kör det från kommandoraden.Därefter kommer "kommandona", som bara är vanliga gamla kommandon som du vill köra som en del av ditt jobb.Till exempel, här är en som skriver ut alla sina argument: echo $* Slutligen finns det två rader som talar om för CRON vilken typ av uppgift ditt kommando är – i det här fallet är det en skalskriptfil (.sh).Om allt ser okej ut, spara och stäng CRONTAB-filen med Ctrl+X, sedan Y och sedan Enter . Nu är du redo att börja använda ditt nya jobb!För att starta den, skriv bara sudo ./ditt_nya_jobbnamn där ditt_nya_jobbnamn är vad du än heter din CRONTAB-fil när du skapade den.Om allt går bra bör ditt nya jobb börja löpa direkt!

ja!Så länge varje kommando avslutas utan fel (d.v.s. inte orsakar någon skada), kan du lägga in så många kommandon i ditt Cron Job som du vill!Se bara till att alla avslutar framgångsrikt innan du lämnar CRONTAB.

För att ta bort ett Cron Job som körs för närvarande, skriv helt enkelt sudo rm -f DIT JOBBNAMN där DIT JOBBNAMN är namnet på det kränkande Cron Job . Var dock försiktig – om det finns några väntande uppgifter kopplade till DITT JOBBNAMN , kommer de att raderas tillsammans med det!Se till att allt annat som är associerat med DITT JOBBNAMN är ordentligt rensat innan du tar bort det :)

ja!För att skicka utdata från specifika kommandon inom ett Cron-jobb som e-postmeddelanden istället för att bara skriva ut dem på skärmen*, inkludera helt enkelt en extra flagga när du utför dessa kommandon: echo -n >&2 Där &2 representerar pipe-tecken ( | ). Så om vi till exempel ville att vårt e-postmeddelande skulle gå till /var/mail/användarnamn istället för bara stdout , skulle vi använda något i stil med detta: echo -n 'Din uppgift kördes framgångsrikt!' >> /var/mail/användarnamn Obs * E-postutdata kanske inte fungerar korrekt om någon programvara från tredje part har installerats på din dator som ändrar hur standardinmatning och utdata fungerar (som skärm). Försök i sådana fall att skriva ut istället för att e-posta utdata från specifika kommandon inom en CronJob.

  1. Vad är ett cron-jobb och hur fungerar det?
  2. Hur skapar jag ett cron-jobb?
  3. Kan jag ha mer än ett kommando i mitt Cron Job?
  4. Hur tar jag bort ett Cron Job?
  5. Kan utdata från mina kommandon skickas till mig via e-post?