Comment exécuter Crontab à l'heure du démarrage du système

Comment exécuter Crontab à l'heure du démarrage du système
Êtes-vous à la recherche d'une solution pour exécuter Crontab chaque fois que votre serveur ou votre système redémarre? Ceci est possible en utilisant l'option @reboot. La façon par défaut d'exécuter Cron Jobs spécifie leur date et leur heure, suivie du chemin vers la commande pour exécuter. Le même concept est utilisé lors de la définition d'une commande qui devrait s'exécuter chaque fois que le serveur redémarre. La seule différence est que, dans ce cas, nous ne spécifions pas la date et l'heure. Au lieu de cela, nous utilisons le @reboot suivi du chemin vers la commande. Voyons comment cela fonctionne.

Comment planifier Crontab à exécuter à l'heure du démarrage du système

Les systèmes Linux et Unix sont préinstallés avec le cron Utilitaire, un planificateur d'emploi qui facilite la planification des emplois sur le fichier Crontab. Le même utilitaire est disponible pour macOS. La syntaxe pour la planification des travaux à intervalles donnés est fournie ci-dessous:

Min d'heure Jour de mois Jour de semaine du mois [Commande]

Par exemple, vous pouvez utiliser la commande suivante si vous avez besoin d'exécuter un script de sauvegarde toutes les 20 minutes à partir de 3h00.m. à 16h00 p.m. quotidien.

* / 20 15-16 * * * / chemin / vers / sauvegarde.shot

La commande précédente fonctionne lorsque vous devez exécuter un travail à un moment donné, mais que se passe-t-il si vous avez besoin de la même commande pour s'exécuter après chaque démarrage?

Pour définir la même commande pour s'exécuter lorsque le système redémarre, remplacez les champs de date et d'heure par @reboot. La nouvelle commande serait:

@reboot / path / to / sauvegarde.shot

Dans la commande précédente, le @reboot Spécifie que Cron doit exécuter la commande spécifiée après chaque démarrage. Encore une fois, nous devons ajouter la commande au fichier crontab.

Utilisez la commande suivante pour ouvrir le fichier Crontab et le modifier pour ajouter notre nouvel emploi.

crontab -e

Notez que nous créons le travail pour l'utilisateur actuel. Si vous devez planifier la tâche pour un autre utilisateur, par exemple, un utilisateur nommé linuxhint1, La commande suivante serait:

crontab -e -u Linuxhint1

Une fois le fichier crontab out, ajoutez la commande en ligne de fond. Enregistrer le fichier et quitter.

Notez également que nous utilisons un nano éditeur, votre éditeur peut être différent, mais la commande est la même.

Si le travail est planifié avec succès, vous devez obtenir un message comme celui illustré dans l'image suivante pour indiquer une installation réussie du nouveau crontab:

Pourtant, vous pouvez utiliser la commande suivante pour répertorier les travaux planifiés.

crontab -l

Si vous ne souhaitez plus exécuter la commande au démarrage, vous pouvez le supprimer en modifiant le fichier Crontab ou en utilisant la commande fournie ci-dessous. Notez que la commande suivante supprime tous les travaux prévus. Si ce n'est pas ce que vous souhaitez réaliser, faites défiler vers le bas sur le crontab et supprimez manuellement le travail à l'aide d'un éditeur.

crontab -r

Le @reboot exécute une commande immédiatement après l'heure de démarrage. Cependant, vous pouvez spécifier une période de sommeil avant l'exécution de la commande. Par exemple, si vous avez besoin de la commande pour exécuter 10 minutes après le démarrage, vous devez définir l'heure en quelques secondes.

La commande serait.

@reboot sleep 600 / path / to / backup.shot

600 représente les 10 minutes exprimées en secondes, et dormir est l'option à utiliser lors de la spécification du temps avant l'exécution.

Notre nouveau fichier crontab serait défini, comme indiqué ci-dessous:

La prochaine fois que vous redémarrez votre serveur, le script de sauvegarde ou la commande set s'exécutera après 10 minutes.

Enfin, nous pouvons vérifier que le travail prévu s'exécutera en vérifiant l'état pour service de grond. Ça devrait être actif. Utilisez la commande suivante pour vérifier son statut:

Sudo Systemctl Status Cron.service

Vous êtes prêt à partir si vous obtenez une sortie comme la sortie suivante:

Si l'état de Cond n'est pas actif, vous pouvez l'activer en utilisant la commande suivante, puis vérifiez l'état:

sudo systemctl activer cron.service

C'est ça. Votre commande s'exécutera à l'heure du démarrage.

Conclusion

Savoir planifier des emplois au démarrage est essentiel pour les administrateurs Linux. Heureusement, ce guide a couvert un guide pratique complet sur la façon de procéder en utilisant l'utilitaire Linux Cron. De plus, nous avons discuté de la façon dont vous pouviez définir un temps de sommeil avant l'exécution de la commande.