Hoe crontab uit te voeren tijdens het opstarten van het systeem

Hoe Crontab Uit Te Voeren Tijdens Het Opstarten Van Het Systeem



Bent u op zoek naar een oplossing om crontab uit te voeren telkens wanneer uw server of systeem opnieuw wordt opgestart? Dit is mogelijk door de @reboot optie te gebruiken. De standaardmanier om cron-taken uit te voeren, is door hun datum en tijd op te geven, gevolgd door het pad naar de uit te voeren opdracht. Hetzelfde concept wordt gebruikt bij het definiëren van een opdracht die moet worden uitgevoerd wanneer de server opnieuw wordt opgestart. Het enige verschil is dat we in dit geval de datum en tijd niet specificeren. In plaats daarvan gebruiken we de @reboot gevolgd door het pad naar de opdracht. Laten we eens kijken hoe dat werkt.

Hoe crontab plannen om uit te voeren tijdens het opstarten van het systeem

Linux- en Unix-systemen zijn vooraf geïnstalleerd met de cron utility, een taakplanner die het gemakkelijk maakt om taken in het crontab-bestand te plannen. Hetzelfde hulpprogramma is beschikbaar voor macOS. Hieronder vindt u de syntaxis voor het plannen van taken met bepaalde tussenpozen:

Min uur Dag-van-maand Maand Dag-van-week [ opdracht ]







U kunt bijvoorbeeld de volgende opdracht gebruiken als u vanaf 15:00 uur elke 20 minuten een back-upscript moet uitvoeren. tot 16.00 uur dagelijks.



*/ twintig vijftien - 16 * * * / pad / tot / backup.sh



De vorige opdracht werkt wanneer u een taak op een bepaald tijdstip moet uitvoeren, maar wat als u dezelfde opdracht na elke keer opstarten wilt uitvoeren?





Als u dezelfde opdracht wilt laten uitvoeren wanneer het systeem opnieuw wordt opgestart, vervangt u de velden voor datum en tijd door @reboot. Het nieuwe commando zou zijn:

@ opnieuw opstarten / pad / tot / backup.sh



In het vorige commando, de @reboot specificeert dat cron het gespecificeerde commando na elke boot moet uitvoeren. Nogmaals, we moeten de opdracht toevoegen aan het crontab-bestand.

Gebruik de volgende opdracht om het crontab-bestand te openen en te bewerken om onze nieuwe taak toe te voegen.

crontab -en

Houd er rekening mee dat we de taak voor de huidige gebruiker maken. Als u de taak voor een andere gebruiker moet plannen, bijvoorbeeld een gebruiker met de naam linuxhint1 , zou het volgende commando zijn:

crontab -en -in linuxhint1

Zodra het crontab-bestand is geopend, voegt u de opdracht onderaan de regel toe. Sla het bestand op en sluit af.

Merk ook op dat we a . gebruiken nano editor, uw editor kan anders zijn, maar het commando is hetzelfde.

Als de taak met succes is gepland, zou u een bericht moeten krijgen zoals in de volgende afbeelding om een ​​succesvolle installatie van de nieuwe crontab aan te geven:

Toch kunt u de volgende opdracht gebruiken om de geplande taken weer te geven.

crontab -l

Als je de opdracht niet langer wilt uitvoeren tijdens het opstarten, kun je deze verwijderen door het crontab-bestand te bewerken of door de onderstaande opdracht te gebruiken. Merk op dat de volgende opdracht alle geplande taken verwijdert. Als dat niet is wat u wilt bereiken, scrolt u omlaag in de crontab en verwijdert u de taak handmatig met een editor.

crontab -r

De @reboot voert direct na het opstarten een opdracht uit. U kunt echter een slaapperiode opgeven voordat de opdracht wordt uitgevoerd. Als u bijvoorbeeld de opdracht 10 minuten na het opstarten wilt laten uitvoeren, moet u de tijd in seconden instellen.

De opdracht zou zijn.

@ opnieuw opstarten slaap 600 / pad / tot / backup.sh

600 staat voor de 10 minuten uitgedrukt in seconden, en slaap is de optie om te gebruiken bij het specificeren van de tijd vóór uitvoering.

Ons nieuwe crontab-bestand zou worden ingesteld, zoals hieronder wordt weergegeven:

De volgende keer dat u uw server opnieuw opstart, wordt het back-upscript of de set-opdracht na 10 minuten uitgevoerd.

Ten slotte kunnen we controleren of de geplande taak wordt uitgevoerd door de status te controleren op: crond-service . Het zou moeten zijn actief . Gebruik de volgende opdracht om de status te controleren:

sudo systemctl-status cron.service

U bent klaar om te gaan als u een uitvoer krijgt zoals de volgende uitvoer:

Als de status van crond niet actief is, kunt u deze inschakelen met de volgende opdracht en vervolgens de status controleren:

sudo systeemctl inschakelen cron.service

Dat is het. Uw opdracht wordt uitgevoerd tijdens het opstarten.

Conclusie

Weten hoe taken tijdens het opstarten moeten worden gepland, is essentieel voor Linux-beheerders. Gelukkig bevatte deze gids een uitgebreide praktische gids over hoe je dat kunt doen met behulp van het Linux cron-hulpprogramma. Daarnaast hebben we besproken hoe u een slaaptijd kunt instellen voordat de opdracht wordt uitgevoerd.