Introduction aux tâches planifiées
OMV contient des taches (cron) systèmes qui s’exécutent régulièrement en arrière plan. Il est également possible de créer de taches utilisateurs planifiées simplement avec l’interface d’administration. Ces taches utilisateurs peuvent être cyclique ou à la demande. Elles peuvent par exemple déclencher des taches de sauvegardes en arrière plan toutes les nuits.
Nous verrons plus loin dans l’article ou sont sauvegardés dans le système toutes ses tâches et comment il est possible d’en rajouter directement dans le système sans passer par l’interface d’administration. Cela s’avère parfois nécessaire pour certaines taches particulières.
Voyons déjà à quoi ressemble les taches planifiées dans OMV :
J’ai plusieurs tâches périodiques dédiées à la surveillance et à la sauvegarde de mes données. J’ai aussi des tâches ponctuelles exécutée à la demande.
Création d’une tâche planifiée
Nous allons maintenant entrerdans le détails en créant une tâche : Nous devons cliquez sur le signe ‘+’ pour créer une tâche. J’ouvre une tâche déjà existante pour la détailler :
Cette tâche est active et se déclenche vers 23h39 tous les jours. Elle est exécutée avec les droits Administrateur et lance le script ‘checknextcloud.sh‘. Le résultat de cette tache sera consignée dans les logs de la machine et un compte rendu sera aussi envoyé par email. Le script que j’ai développé ici effectue une synchronisation de toutes les données de mon cloud vers un disque dur extérieur.
Voici un deuxième d’une tache que je veux pouvoir lancer à la demande et qui n’est pas activer par défaut :
Cette tâche n’est pas active par défaut mais je peux l’exécuter en cliquant sur le bouton ‘lecture’. C’est une tache d’administration qui fait du nettoyage dans des fichiers. C’est le type de tache que l’on ne lance qu’une fois par mois.
Paramétrage système du cron
OMV est basé sur la distribution Linux Debian. Les fichiers des tâches systèmes se trouvent dans le répertoire /etc/cron.d/. OMV stock par contre les fichiers des tâches utilisateurs crées via l’interface d’administration dans le répertoire /var/lib/openmediavault/cron.d/.
Quand nous regardons de plus près comment OMV gère les taches du cron on s’aperçoit qu’il a tendance à spammer les logs du système avec des messages réguliers inutiles. On peut voir aussi qu’il n’y a pas par défaut de fichiers de log dédiés pour les tâches du cron qui se retrouvent alors noyées dans un flot de messages.
Nous allons donc désactiver ces messages intempestifs dans les logs et activer les logs du cron dans un fichier dédié.
Modification du gestionnaire de log
Sous Linux c’est le gestionnaire ‘rsyslog‘ qui gère toutes la production des fichiers de logs sur la machine.
Nous allons donc modifier son fichier de configuration ‘rsyslog.conf‘ qui se trouve dans le répertoire /etc/. Pour cela on tape la commande :
On décommente la ligne entourée en rouge et on rajoute la ligne suivante en dessous du paragraphe ‘RULES’.
Nous signalons au système que nous voulons filtrer les messages contenant la chaine ‘pam_unix(cron:session)‘.
On sauve (CTRL+O), puis on quitte (CTRL+X). Aprés cela il faut relancer le daemon système ‘rsyslog’ et on vérifie que tout fonctionne :
sudo systemctl status rsyslog
Le daemon ‘rsyslog‘ fonctionne correctement et aucun problème n’a été détecté lors de son lancement.
Création de tâches cron spécifiques
Il arrive parfois que certaines tâches ne peuvent pas être créer avec l’interface d’administration. Dans ce cas il faut la créer directement une tache système.
Voila un exemple concret : J’ai créé une tache qui s’appel ‘bootScripts’ et qui comme son nom l’indique est lancée après chaque démarrage de la machine.
Le fichier cron lance deux scripts au démarrage du NAS et envoi un email de notification à l’administrateur. Pour la syntaxe de ces fichiers cron, je vous renvoi aux nombreuses documentations que l’on peut trouver sur Internet.