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.shIn 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 -enHoud 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 linuxhint1Zodra 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 -lAls 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.sh600 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.serviceU 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.