Vérification toutes les x secondes bash sans CRON

Lorsque l'utilisation de CRON n'est pas permise, il faut trouver des solutions tierses

26/08/2021

Bash
Automatisation
article illustration

L'utilisation d'une tâche CRON n'est pas toujours permise ou accessible en fonction de l'organisation dans laquelle on se trouve, dans ce cas, il est interessant de se pencher sur une autre solution, le lancement d'un terminal avec une vérification de la dernière modification peut être une solution adéquate en fonction de la durée entre 2 relances.

Bash permet l'exécution de scripts lors de son lancement grace au fichier .bashrc, ainsi il est possible de lancer une commande à chaque lancement d'un nouveau terminal, ceci couplé à une vérification du temps écoulé depuis le dernier lancement permet l'utilisation d'un ersatz de CRON.

Ici on insère donc ce morceau de code dans le fichier .bashrc en pensant à y faire appel après sa définition, ainsi en réglant la variable OLDTIME, il est possible d'éxecuter, dans le cas où la durée est dépassée le script update.sh dans notre cas. Celui-ci pourra par la suite être changé par n'importe quelle commande bash.

A retenir

CRON reste le moyen le plus efficace d'exécuter des tâches avec une périodicité prédéfinie cependant les organisations n'autorisent pas toujours la définition de tâches CRON.

Il est important de se rappeler que l'exécution du script ne s'effectuera qu'au lancement d'un nouveau terminal, attention donc à ne pas utiliser ce script dans un environnement qui n'est pas réouvert souvent.