Comment vérifier si Crontab fonctionne ?

How Do I Check If Crontab Is Working



Le crontab est un planificateur de tâches extrêmement utile dans les systèmes basés sur Linux qui vous permet de transformer vos tâches de routine quotidiennes en tâches crontab qui peuvent s'exécuter automatiquement selon le calendrier spécifié. Cependant, étant donné que ce planificateur de tâches fonctionne silencieusement en arrière-plan, c'est pourquoi la plupart des utilisateurs se demandent s'il fonctionne ou non.

Parfois, vous attribuez les tâches de sauvegarde de votre système ou de mise à jour au planificateur de tâches crontab. Ces tâches sont considérées comme très cruciales pour le fonctionnement normal de tout système informatique. C'est pourquoi, s'ils sont manqués pour une raison quelconque, votre système cessera de fonctionner en conséquence. Ainsi, il est considéré comme extrêmement important de contrôler également votre planificateur de tâches crontab pour rester informé de son exécution ou non et de l'exécution des tâches qui lui sont attribuées ou non.







C'est pourquoi l'objectif de l'article d'aujourd'hui est de vous apprendre les deux méthodes pour vérifier si crontab fonctionne ou non lors de l'utilisation de Linux Mint 20.



Méthodes de vérification si Crontab fonctionne ou non

Les deux méthodes suivantes peuvent être utilisées pour vérifier si crontab fonctionne ou non. La première méthode est la plus simple alors que la seconde méthode est un peu complexe car elle comporte plus d'étapes que la première. Quoi qu'il en soit, nous allons énoncer les deux méthodes ci-dessous:



Méthode n°1 : en vérifiant l'état du service Cron

Pour vérifier si crontab fonctionne ou non en examinant l'état du service Cron, vous devez effectuer les étapes suivantes :





Lancez le terminal dans la distribution Linux avec laquelle vous travaillez. Comme déjà indiqué ci-dessus, nous avons utilisé Linux Mint 20 pour démontrer les deux méthodes permettant de vérifier si crontab fonctionne ou non. Par conséquent, nous avons également montré le terminal de cette distribution Linux dans l'image ci-dessous :



Maintenant, pour vérifier l'état du service Cron dans Linux Mint 20, vous devez taper la commande suivante :

$ systemctl status cron

L'exécution de la commande systemctl avec l'indicateur d'état vérifiera l'état du service Cron, comme indiqué dans l'image ci-dessous. Si le statut est Actif (En cours d'exécution), il sera confirmé que crontab fonctionne parfaitement, sinon non.

Dans notre cas, la crontab fonctionnait bien, c'est pourquoi vous pouviez voir le statut Actif (En cours d'exécution) dans l'image ci-dessus. Cependant, si votre crontab ne fonctionne pas, vous pouvez toujours démarrer ce service en exécutant la commande suivante dans votre terminal :

$ sudo service cron start

Le démarrage d'un nouveau service dans Linux Mint 20 nécessite toujours des privilèges d'utilisateur root. C'est pourquoi si vous oubliez de mentionner le mot-clé sudo avant la commande mentionnée ci-dessus, un message d'erreur s'affichera sur le terminal. Cependant, si vous êtes connecté au compte d'utilisateur root, vous pouvez continuer même sans le mot-clé sudo.

Méthode n°2 : en exécutant une tâche Crontab

Pour vérifier si crontab fonctionne ou non en exécutant une tâche crontab, vous devez effectuer les étapes suivantes :

Dans cette méthode, nous allons d'abord créer un script bash que nous exécuterons en tant que tâche crontab. Si notre travail crontab fonctionnera, c'est-à-dire si notre script bash s'exécutera comme prévu, cela impliquera que crontab fonctionne parfaitement bien, sinon non. Nous avons donc décidé de créer un fichier bash dans notre répertoire personnel nommé Cron.sh. Après avoir créé ce fichier, nous l'avons ouvert et tapé le script montré dans l'image ci-dessous dans notre fichier bash. Ce script imprime simplement un message factice sur le terminal. Ensuite, nous avons enregistré notre fichier bash et l'avons fermé.

L'étape suivante consiste à rendre notre fichier bash exécutable afin que notre tâche crontab ait les privilèges d'exécuter ce fichier bash. Pour rendre notre script bash nouvellement créé exécutable, nous exécuterons la commande suivante dans notre terminal :

$ chmod +x Cron.sh

L'exécution de cette commande n'affichera aucune sortie sur le terminal, mais le contrôle vous sera rendu, ce qui indiquera que cette commande a été exécutée avec succès.

Nous allons maintenant créer une tâche crontab pour exécuter ce fichier bash. Pour cela, nous devons ouvrir le fichier crontab sur le terminal en exécutant la commande indiquée ci-dessous :

$crontab -e

Lorsque le fichier crontab apparaîtra sur votre terminal, vous devez taper la ligne surlignée dans l'image suivante dans votre fichier. Taper cette ligne créera une tâche crontab pour exécuter notre fichier bash toutes les secondes. Nous avons appuyé sur Ctrl + X pour enregistrer le fichier crontab et le fermer afin que nous puissions continuer.

Dès que ce fichier se fermera, le démon Cron installera la nouvelle crontab comme indiqué dans l'image ci-dessous puisque nous venons de modifier le fichier crontab.

Si notre crontab fonctionne correctement, alors notre script bash sera exécuté toutes les secondes. Pour vérifier cela, nous devons extraire le fichier /var/log/syslog en exécutant la commande suivante dans le terminal :

$ sudo grep –a Cron.sh / var / log / syslog

Ce fichier contiendra un journal de toutes les fois où votre fichier bash a été exécuté, ce qui impliquera que votre crontab fonctionne comme indiqué dans l'image ci-dessous :

Conclusion

Dans l'article d'aujourd'hui, nous vous avons appris les deux méthodes pour vérifier si la crontab fonctionne ou non. La première méthode devrait vous suffire si vous avez uniquement l'intention de vérifier l'état de votre service crontab, cependant, si vous souhaitez voir si une tâche crontab particulière s'exécute avec succès ou non, vous devrez alors effectuer la méthode n ° 2. Ces méthodes ont été exécutées sur Linux Mint 20, cependant, vous pouvez également utiliser n'importe quelle autre distribution Linux préférée.