Wat is een cronjob?

Een cronjob is een geplande taak of script dat met bepaalde tussenpozen automatisch wordt uitgevoerd.Wat kan een cronjob doen?Een cronjob kan opdrachten, scripts of programma's volgens een regelmatig schema uitvoeren.Dit kan handig zijn voor taken zoals het soepel laten werken van uw computer of het uitvoeren van administratieve taken.Hoe stel ik een cronjob in?Er zijn verschillende manieren om een ​​cronjob op Linux in te stellen.U kunt de tool Cronjob Manager gebruiken, het configuratiebestand van uw shell bewerken of de opdrachtregel gebruiken.Welke methode moet ik gebruiken?De tool Cronjob Manager is het gemakkelijkst te gebruiken en biedt meer flexibiliteit dan het bewerken van het configuratiebestand van uw shell.Om een ​​nieuwe Cronjob in te stellen met behulp van de Cronjob Manager: 1) Open de Cron Job Manager door op het "Cron Jobs"-pictogram in het systeemvak te klikken (of door "crontab -e") te typen. 2) Klik in de Cron Job Manager op de knop "Nieuw" om een ​​nieuwe CronJob aan te maken. 3) Voer in het dialoogvenster Nieuwe CronJob een naam in voor uw nieuwe CronJob en klik op OK. 4) In het nieuw aangemaakte CronJob-venster ziet u twee tabbladen: Algemeen en Opdrachten. 5) Op het tabblad Algemeen ziet u informatie over uw huidige status (actief of niet actief), evenals opties voor het instellen van tijdslimieten en het handmatig stoppen/starten van uw taken. 6) Op het tabblad Opdrachten ziet u alle opdrachten die momenteel zijn gepland om in deze specifieke CronJob te worden uitgevoerd. 7) Om een ​​extra commando aan deze lijst toe te voegen, klikt u erop en voert u de vereiste parameters in de daarvoor bestemde velden in het Command-venster dat wordt geopend (zie hieronder). 8) Om bestaande opdrachten uit deze lijst te verwijderen, selecteert u ze en drukt u op de Delete-toets (of selecteert u Annuleren als u uw wijzigingen wilt opslaan maar geen nieuwe opdrachten wilt toevoegen). 9) Klik op OK om beide vensters te sluiten en terug te keren naar het hoofdscherm van Crontab waar uw nieuw aangemaakte job nu zou moeten staan ​​onder "Actieve jobs". 10) Om deze specifieke taak onmiddellijk te starten/stoppen/herstarten zonder te wachten tot de geplande tijdsperiode verstrijkt: 1) Selecteer deze in de lijst Actieve taken en druk op de Start/Stop-knop (of klik er met de rechtermuisknop op en kies Start/Stop vanuit de context menu). 2) Als u wilt dat deze specifieke taak blijft werken, zelfs als deze niet meer actief is (bijvoorbeeld wanneer het systeem 's nachts uitvalt): 1a ) Selecteer deze in de lijst Actieve taken en druk op de knop Regel toevoegen... -> Schematype wijzigen drop -down menu -> Vink de optie Elke dag uitvoeren aan -> Druk op de knop Toepassen -> Sluit het regelvenster -> Sla de wijzigingen op door op de OK-knop te drukken b ) Klik nogmaals met de rechtermuisknop op het geselecteerde item in de lijst met actieve taken -> Regel toevoegen... c) Change Schedule Type drop-down menu -> Vink Run At Night optie aan d ) Druk op de Apply-knop e ) Sluit het regelvenster f ) Sla wijzigingen op door op de OK-knop te drukken. Hoe stop ik mijn huidige actieve cron-jobs?Om alle momenteel actieve crons-taken te stoppen: 1a. Selecteer Alle items in het gedeelte Crons uitvoeren van het hoofdscherm van Crontab->Klik met de rechtermuisknop-> Stop

1b .Selecteer huidige taak in het uitvoeren van Crons-sectie van het hoofdscherm van Crontab->Rechts klikken-> Stop alle gerelateerde processen

Hoe herstart ik mijn huidige gestopte cron-taken?Om alle momenteel gestopte crons-taken opnieuw te starten: 1a. Selecteer Alle items in het gedeelte Stopped Crons van het hoofdscherm van Crontab-> Rechtsklik-> Geselecteerde processen opnieuw starten

1b .Selecteer huidige taak uit gestopte Crons-sectie van het hoofdscherm van Crontab->Rechtsklik-> Geselecteerde processen opnieuw starten Hoe wijzig ik mijn huidige geplande tijdsperiode voor mijn huidige actieve cron-taken?Om uw huidige geplande tijdsperiode te wijzigen voor een of meer momenteel lopende cron-taken:1a .

Wat is het doel van een cronjob?

Een cronjob is een geplande taak of script dat met bepaalde tussenpozen automatisch wordt uitgevoerd.Cron-taken kunnen worden gebruikt om routinetaken te automatiseren, zoals het bijwerken van een online database, het uitvoeren van een programma volgens een schema of het verzenden van e-mailmeldingen.Cron-taken kunnen ook worden gebruikt om speciale acties uit te voeren wanneer specifieke gebeurtenissen plaatsvinden, zoals het starten van een website wanneer iemand inlogt op zijn account.

Hoe stel je een cron-job in op Linux?

Er zijn een paar verschillende manieren om een ​​cronjob op Linux in te stellen.U kunt de opdracht crontab gebruiken om uw taken te beheren, of u kunt de Cron Job Manager gebruiken.U kunt ook de Linux Scheduler-tool gebruiken om uw taken te plannen.Ten slotte kunt u de opdrachtregeltool gebruiken om uw taken uit te voeren.

Om uw taken te beheren met de opdracht crontab, opent u eerst een terminalvenster en typt u:

crontab -e

Dit opent het crontab-bestand in uw huidige map.De eerste regel van dit bestand wordt "default" genoemd en stelt enkele basisopties in voor het gebruik van de opdracht crontab.Om een ​​nieuwe baan toe te voegen, voer je in:

crontab -e >> mijnnieuwejob.cron

Hiermee wordt een nieuw item in het bestand mynewjob.cron gemaakt dat u naar behoefte kunt bewerken.Om een ​​taak uit te voeren, voert u eenvoudig het volgende in:

crontab mynewjob.cron

U kunt ook specificeren op welke dag van de week uw taak moet worden uitgevoerd door een optioneel nummer in te voeren na "0" (bijvoorbeeld "0 0 * *"). U kunt ook aangeven op welk tijdstip uw taak moet worden uitgevoerd door een optioneel nummer achter "*" in te voeren (bijvoorbeeld "15 10 * *").

Als u een taak uit uw lijst met geplande taken wilt verwijderen, voert u eenvoudig het volgende in:

crontab -r mynewjob.cron

U kunt ook afzonderlijke items uit uw lijst met geplande taken verwijderen door het volgende in te voeren: ctrl-D (of CMD-D op Macs) gevolgd door de naam van het item dat u wilt verwijderen.Als u slechts één specifieke taak uit uw lijst wilt verwijderen, maar niet ook alle gerelateerde items wilt verwijderen, kunt u het volgende invoeren: ctrl-X gevolgd door de naam van het item dat u wilt verwijderen zonder ook de gerelateerde items te verwijderen .

Als u ten slotte alleen informatie wilt bekijken over een bepaalde taak die momenteel is gepland maar nog niet wordt uitgevoerd, typt u: ctrl-P gevolgd door de naam van de taak waarover u informatie wilt.

Hoe vaak wordt een cronjob uitgevoerd?

Een cronjob is een geplande taak die met bepaalde tussenpozen automatisch wordt uitgevoerd.U kunt een cron-taak zo instellen dat deze één keer per dag, één keer per week of één keer per maand wordt uitgevoerd.U kunt ook een cron-taak zo instellen dat deze alleen wordt uitgevoerd als aan bepaalde voorwaarden wordt voldaan.U wilt bijvoorbeeld dat uw cron-taak alleen wordt uitgevoerd als de computer op netstroom werkt.

Kan een cronjob zo worden ingesteld dat deze meer dan één keer per uur wordt uitgevoerd?

Ja, een cronjob kan zo worden ingesteld dat deze meer dan één keer per uur wordt uitgevoerd.Om dit te doen, voeg je de volgende regel toe aan je crontab-bestand:

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

Dit zorgt ervoor dat het php-script op /var/www/html/cronjob.php elk uur wordt uitgevoerd.

Wat gebeurt er als je geen interval opgeeft voor je cronjob?

Als u geen interval opgeeft voor uw cronjob, wordt deze elke minuut uitgevoerd.Als u wilt dat het vaker wordt uitgevoerd, kunt u een tijdexpressie zoals "*/5" toevoegen, waardoor de taak elke vijf minuten wordt uitgevoerd.Als u wilt dat het minder vaak wordt uitgevoerd, kunt u een nummer toevoegen zoals "0 */5", waarmee de taak elke vijf minuten wordt uitgevoerd.

Heeft de systeemtijd invloed op wanneer mijn cron-taak wordt uitgevoerd?

Er is niet één definitief antwoord op deze vraag.Afhankelijk van de configuratie van uw systeem, kan het tijdstip van de dag van invloed zijn op wanneer uw cron-taak wordt uitgevoerd.Als uw systeemklok bijvoorbeeld is ingesteld op UTC, wordt uw cron-taak uitgevoerd in de tijdzone waarin uw computer zich bevindt.Als uw systeemklok is ingesteld op lokale tijd, wordt uw cron-taak uitgevoerd volgens de lokale tijdzone.

Om te bepalen of de systeemtijd al dan niet van invloed is op het uitvoeren van een cron-taak, moet u naar de configuratie van uw machine kijken.Enkele veelvoorkomende manieren om dit te doen zijn door het date commando te gebruiken of door de inhoud van /etc/rc.local te bekijken. Beide methoden zijn toegankelijk vanuit een terminalvenster door sudo te typen.

Als u een taak wilt plannen die altijd moet worden uitgevoerd, ongeacht de huidige systeemtijd, kunt u anacron gebruiken. anacron is een programma dat controleert op wijzigingen in bestanden en automatisch bepaalde configuraties bijwerkt op basis van die wijzigingen.Voor meer informatie over anacron, zie:

.

Ik wil dat mijn script elke minuut wordt uitgevoerd, wat is het juiste interval?

Er is geen pasklaar antwoord op deze vraag, omdat het interval waarmee een cron-taak moet worden uitgevoerd, varieert afhankelijk van de specifieke behoeften van het script.Hieronder vindt u echter enkele tips voor het instellen van een geschikt interval voor een cronjob.

Eerst en vooral is het belangrijk om te begrijpen welk doel het script dient en aan welk type schema het moet voldoen.Als het script regelmatig moet worden uitgevoerd maar relatief weinig impact heeft (bijvoorbeeld elke vijf minuten op nieuwe e-mail controleren), kan een interval van een minuut voldoende zijn.Aan de andere kant, als het script meer tijd nodig heeft om zijn taak te voltooien (bijvoorbeeld het verwerken van grote datasets), dan kan een langer interval (zoals elk uur) geschikter zijn.

Een andere factor waarmee rekening moet worden gehouden bij het instellen van een interval voor een cron-taak, is hoeveel belasting het systeem aankan.Als er te veel taken tegelijkertijd worden uitgevoerd, kunnen de prestaties eronder lijden door de hogere verwerkingsoverhead.Daarom is het belangrijk om verschillende intervallen te testen om er een te vinden die het beste werkt voor het specifieke script zonder al te veel interferentie of laggy-gedrag te veroorzaken.

Houd er ten slotte rekening mee dat niet alle systemen op precies dezelfde manier zijn geconfigureerd; daarom werken bepaalde parameters (zoals een interval) mogelijk niet goed op de ene machine ten opzichte van de andere.In deze gevallen kan het nodig zijn om verschillende intervallen uit te proberen totdat er iets is gevonden dat betrouwbaar werkt.

Mijn script werkt niet, wat kan er aan de hand zijn?

Er kunnen een paar dingen mis zijn.Zorg er eerst voor dat het script uitvoerbaar is.Om dit te doen, kunt u de opdracht chmod gebruiken om de machtigingen van het bestand te wijzigen, zodat het leesbaar is voor het gebruikersaccount van uw computer (meestal 755 voor bestanden in Linux) en beschrijfbaar is voor het groepsaccount van uw computer (meestal 666 voor bestanden in Linux) . Als je geen toegang hebt tot de opdracht chmod, kun je sudo gebruiken om jezelf toestemming te geven om het bestand te wijzigen.

Als je nog steeds problemen hebt om je script uit te voeren, kan er iets mis zijn met de configuratie.U kunt dit controleren door het script als root uit te voeren. Hiermee kunt u het configuratiebestand bekijken en bewerken.Het meest voorkomende probleem bij het instellen van scripts is onjuiste of ontbrekende padinformatie; als dit het geval is, kunt u dit oplossen door de juiste paden toe te voegen aan het configuratiebestand van uw script.

Zorg er ten slotte voor dat alle benodigde software op uw computer is geïnstalleerd; zonder deze programma's werkt uw script mogelijk niet goed.Om Cron-taken bijvoorbeeld op Linux-systemen te laten draaien, moet Cron correct zijn geïnstalleerd en geconfigureerd; zonder dat Cron onjuist is geïnstalleerd of geconfigureerd, zullen uw scripts helemaal niet worden uitgevoerd.

Linux-gebruikers hebben vaak problemen bij het opzetten van hun cron-jobs vanwege een gebrek aan goede kennis over linux-commando's die worden gebruikt voor taakbeheer, zoals chmod enz., Dus hebben we deze handleiding geschreven over hoe u eenvoudig en snel een cron-job linux kunt instellen met hulp van enkele basiscommando's zoals chmod etc.. Ik hoop dat deze gids je zal helpen!

Om te beginnen met het opzetten van een cronjob op een linux-systeem:1) Open terminalvenster2) Typ het volgende commando3) Voer "chmod +x myscript" in4) Bewaar myscript als myscript.sh5) Voer myscript.sh uit6) Uw taak zou nu automatisch moeten worden gestart elke dag om middernacht7) Om een ​​actieve taak te stoppen: typ "cronjob -f"8 ) Om de huidige actieve cronjobs weer te geven: typ "cronjob -l"9 ) Om de huidige actieve cronjob te verwijderen: typ "cronjob -d"10 ) Onthoud dat altijd correct het gebruik van de bovengenoemde commando's is erg belangrijk bij het opzetten van een shellscripttaak op een Linux-systeem, dus lees de onderstaande tutorial aandachtig door voordat u een taak start die verband houdt met shellscripting op een Linux-systeem: - Open eerst het terminalvenster - Typ het volgende commando - EnterNow sla ourcript op als MijnScriptnaamVoor bijvoorbeeld: - Bewaar Mijn Scriptnaam als test_script Eens succesvol opgeslagen sluit terminalvenster Open nu een nieuw terminalvenster - Typ het volgende commando - Enter Je zou uitvoer moeten zien die lijkt op Het volgende screenshot toont de uitvoer van de bovengenoemde opdracht When executed successfullyabovementionedcommandwill create an executablefile namedtest_scriptinsidecurrentdirectorywhereyourunningitfromnowyoucanstartusingitbyjustexecutingitwithoutany further argumentsLikebelow:(Abovecommandwillruntest_scriptonceinitsinitializationphaseandstopitsrunningimmediatelyaftercompletionofitstask.)Similarlyyoucanexecutemanydifferenttypesofcommandswithsimpleargumentslikestop(),start(),status()etc.(Pleaserememberthattheoutputofthestartingcommandswillbedisplayedinterminalwindowwhiletheoutputofthestoppingcommandswillbedisplayedinnewterminalwindow.

Ik krijg een foutmelding van mijn script, hoe kom ik erachter waarom?

Er zijn een paar manieren om erachter te komen waarom uw script een foutmelding krijgt.Een manier is om de opdracht "grep" te gebruiken om te zoeken naar specifieke regels in uw script die het probleem veroorzaken.Een andere manier is om de opdracht "log" te gebruiken om te zien wat er gebeurt wanneer uw script wordt uitgevoerd.Ten slotte kunt u ook de opdracht "tail -f" gebruiken om de uitvoer van uw script te bekijken terwijl het wordt uitgevoerd, zodat u kunt zien of er fouten of onverwacht gedrag optreden.

Kan ik meer dan één commando in mijn Cron Job hebben?12Hoe verwijder ik een Cron Job?13Kan de uitvoer van mijn opdrachten naar mij worden gemaild?

14Hoe zorg ik ervoor dat mijn Cron Job op een bepaalde tijd draait?15Wat zijn enkele goede voorbeelden van Cron Jobs?16

Een cronjob is een programma dat op bepaalde tijden automatisch wordt uitgevoerd, meestal op basis van een schema dat u instelt.U kunt het gebruiken om taken uit te voeren zoals het controleren van uw e-mail, het downloaden van bestanden of het uitvoeren van programma's.

Om een ​​cronjob te maken, opent u eerst de opdrachtregelinterface (CLI) op uw computer.Typ vervolgens het volgende commando: sudo crontab -e Hiermee wordt het CRONTAB-bestand geopend in de teksteditor naar keuze.Bovenaan dit bestand ziet u regels die er als volgt uitzien: # Dit bestand bevat een of meer taken.Elke regel specificeert een actie die moet worden ondernomen door de shell wanneer deze asynchroon wordt uitgevoerd # Het formaat is: De eerste regel in dit bestand wordt de "taaknaam" genoemd.Het is wat u zult gebruiken om uw taak te identificeren wanneer u deze vanaf de opdrachtregel uitvoert.Vervolgens komen de "commando's", die gewoon oude commando's zijn die u als onderdeel van uw werk wilt uitvoeren.Hier is er bijvoorbeeld een die al zijn argumenten afdrukt: echo $* Ten slotte zijn er twee regels die CRON vertellen wat voor soort taak uw opdracht is - in dit geval is het een shellscriptbestand (.sh).Als alles er goed uitziet, slaat u het CRONTAB-bestand op en sluit u het met Ctrl+X en vervolgens Y en vervolgens Enter. Nu ben je klaar om je nieuwe baan te gaan gebruiken!Om het op te starten, typt u gewoon sudo ./your_new_job_name waarbij your_new_job_name is wat u uw CRONTAB-bestand noemde toen u het maakte.Als alles goed gaat, zou je nieuwe baan meteen moeten beginnen!

Ja!Zolang elk commando zonder fouten succesvol wordt afgesloten (d.w.z. geen schade veroorzaakt), kun je zoveel commando's in je Cron Job plaatsen als je wilt!Zorg ervoor dat ze allemaal succesvol afsluiten voordat u CRONTAB verlaat.

Om een ​​momenteel actieve Cron Job te verwijderen, typt u eenvoudig sudo rm -f UWJOBNAAM waarbij UW JOBNAAM de naam is van de overtredende Cron Job. Wees echter voorzichtig: als er taken in behandeling zijn die zijn gekoppeld aan YOURJOBNAME , worden deze ook verwijderd!Zorg ervoor dat al het andere dat is gekoppeld aan YOURJOBNAME correct is opgeschoond voordat u het verwijdert :)

Ja!Om uitvoer van specifieke opdrachten binnen een Cron Job als e-mailberichten te verzenden in plaats van ze alleen op het scherm* af te drukken, voegt u gewoon een extra vlag toe bij het uitvoeren van die opdrachten: echo -n >&2 Waar &2 staat voor pipe-teken ( | ). Dus als we bijvoorbeeld wilden dat de uitvoer van onze e-mailberichten naar /var/mail/username ging in plaats van alleen stdout , zouden we zoiets als dit gebruiken: echo -n 'Je taak is succesvol uitgevoerd!' >> /var/mail/username Opmerking * Uitvoer per e-mail werkt mogelijk niet correct als er software van derden op uw computer is geïnstalleerd die verandert hoe standaard invoer en uitvoer werken (zoals het scherm). Probeer in dergelijke gevallen de uitvoer van specifieke opdrachten binnen een CronJob af te drukken in plaats van te e-mailen.

  1. Wat is een cronjob en hoe werkt het?
  2. Hoe maak ik een cronjob aan?
  3. Kan ik meer dan één commando in mijn Cron Job hebben?
  4. Hoe verwijder ik een Cron Job?
  5. Kunnen de uitvoer van mijn opdrachten naar mij worden gemaild?