Com executar crontab en temps d'arrencada del sistema

Com Executar Crontab En Temps D Arrencada Del Sistema



Esteu buscant una solució per executar crontab cada vegada que el vostre servidor o sistema es reinicia? Això és possible mitjançant l'opció @reboot. La forma predeterminada d'executar treballs cron és especificar la seva data i hora, seguida del camí a l'ordre que cal executar. El mateix concepte s'utilitza quan es defineix una ordre que s'ha d'executar sempre que es reinicia el servidor. L'única diferència és que, en aquest cas, no especifiquem la data i l'hora. En canvi, fem servir el @reiniciar seguit del camí a l'ordre. Vegem com funciona.

Com programar crontab per executar-se en el moment d'arrencada del sistema

Els sistemes Linux i Unix vénen preinstal·lats amb el cron utility, un programador de tasques que facilita la planificació de tasques al fitxer crontab. La mateixa utilitat està disponible per a macOS. La sintaxi per programar treballs a intervals determinats es proporciona a continuació:

Hora mínima Dia del mes Mes Dia de la setmana [ comandament ]







Per exemple, podeu utilitzar l'ordre següent si necessiteu executar un script de còpia de seguretat cada 20 minuts a partir de les 3:00 p.m. a les 4:00 p.m. diàriament.



*/ 20 15 - 16 * * * / Camí / a / backup.sh



L'ordre anterior funciona quan necessiteu executar un treball en un moment determinat, però què passa si necessiteu que s'executi la mateixa ordre després de cada arrencada?





Per establir que la mateixa ordre s'executi quan es reiniciï el sistema, substituïu els camps de data i hora per @reboot. La nova comanda seria:

@ reiniciar / Camí / a / backup.sh



A l'ordre anterior, el @reiniciar especifica que cron hauria d'executar l'ordre especificada després de cada arrencada. De nou, hem d'afegir l'ordre al fitxer crontab.

Utilitzeu l'ordre següent per obrir el fitxer crontab i editar-lo per afegir la nostra feina nova.

crontab -i

Tingueu en compte que estem creant la feina per a l'usuari actual. Si necessiteu programar la tasca per a un usuari diferent, per exemple, un usuari anomenat linuxhint1 , l'ordre següent seria:

crontab -i -en linuxhint1

Un cop obert el fitxer crontab, afegiu l'ordre a la línia inferior. Deseu el fitxer i sortiu.

A més, tingueu en compte que estem utilitzant a nano editor, el vostre editor pot ser diferent, però l'ordre és la mateixa.

Si el treball es programa correctament, hauríeu de rebre un missatge com el que es mostra a la imatge següent per indicar una instal·lació correcta del nou crontab:

Tot i així, podeu utilitzar l'ordre següent per llistar els treballs programats.

crontab -l

Si ja no voleu executar l'ordre en el moment de l'arrencada, podeu eliminar-la editant el fitxer crontab o utilitzant l'ordre que es proporciona a continuació. Tingueu en compte que l'ordre següent suprimeix tots els treballs programats. Si això no és el que voleu aconseguir, desplaceu-vos cap avall a la crontab i suprimiu manualment el treball mitjançant un editor.

crontab -r

El @reboot executa una ordre immediatament després del temps d'arrencada. Tanmateix, podeu especificar un període de repòs abans que s'executi l'ordre. Per exemple, si necessiteu que l'ordre s'executi 10 minuts després de l'arrencada, heu d'establir el temps en segons.

L'ordre seria.

@ reiniciar dormir 600 / Camí / a / backup.sh

600 representa els 10 minuts expressats en segons i dormir és l'opció que s'utilitza quan s'especifica el temps abans de l'execució.

El nostre nou fitxer crontab s'establiria, tal com es mostra a continuació:

La propera vegada que reinicieu el servidor, l'script de còpia de seguretat o l'ordre set s'executarà al cap de 10 minuts.

Finalment, podem comprovar que el treball programat s'executarà comprovant l'estat servei crond . Hauria de ser actiu . Utilitzeu l'ordre següent per comprovar el seu estat:

sudo Estat systemctl cron.service

Esteu bé si obteniu una sortida com la següent:

Si l'estat de crond no està actiu, podeu activar-lo mitjançant l'ordre següent i, a continuació, comprovar-ne l'estat:

sudo systemctl habilitar servei cron

Això és. La vostra comanda s'executarà en el moment de l'arrencada.

Conclusió

Saber programar tasques en el moment de l'arrencada és essencial per als administradors de Linux. Afortunadament, aquesta guia va cobrir una guia pràctica completa sobre com fer-ho amb la utilitat cron de Linux. A més, vam parlar de com podeu establir un temps de repòs abans que s'executi l'ordre.