Configuration des tâches planifiées#
De nombreuses tâches dans i-doit peuvent être automatisées à l'aide de l'outil CLI controller. Nous l'utilisons pour maintenir la documentation IT de manière régulière.
La configuration des tâches planifiées est facultative. Cependant, nous recommandons vivement d'utiliser cette option, de préférence juste après l'installation.
Configuration des tâches planifiées - oui ou non ?
La configuration des tâches planifiées est facultative. Cependant, nous recommandons vivement d'utiliser cette option, de préférence juste après l'installation.
Simplifier l'accès au Controller#
Pour simplifier le processus d'accès au controller, vous pouvez utiliser un simple script bash :
1 |
|
Le script contient le contenu suivant qui doit être adapté à votre propre installation :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
|
1 2 3 |
|
Ensuite, l'exécution du script est activée:
1 |
|
sudo
Le script obtient automatiquement les bonnes autorisations grâce à l'utilisation de sudo. L'utilisateur actuellement connecté doit avoir l'autorisation d'utiliser la commande sudo. Sous Debian GNU/Linux 9, ajoutez l'utilisateur au groupe sudo. Cela nécessite des droits root:
1 |
|
L'option Defaults targetpw, qui empêche ce mécanisme, est définie sous SLES. Par conséquent, vous devez commenter cette option dans le fichier /etc/sudoers.
Désormais, chaque utilisateur peut l'utiliser:
1 |
|
Créer des tâches essentielles#
À l'étape suivante, nous créons un autre script que nous pouvons appeler à la fois manuellement et automatiquement:
1 |
|
Ce script contient le contenu suivant:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
|
--------------------------------------------------------------------------------------------------#
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|
bash log "Envoyer des notifications" eval "${prefix}${CONSOLE_BIN} notifications-send $suffix" || \ abort "La commande 'notifications-send' a échoué" log "Effacer les caches" eval "${prefix}rm -rf ${INSTANCE_PATH}/temp/" || \ abort "Impossible de vider les caches" log "Effacer les mises à jour" eval "${prefix}rm -rf ${INSTANCE_PATH}/updates/versions/" || \ abort "Impossible de vider les mises à jour" } function setup { test -x "$CONSOLE_BIN" || \ abort "Le script '${CONSOLE_BIN}' est introuvable" test -d "$INSTANCE_PATH" || \ abort "Aucune instance i-doit trouvée sous '${INSTANCE_PATH}'" } function log { echo -e "$1" } function finish { log "Terminé. Amusez-vous :-)" exit 0 } function abort { echo -e "$1" 1>&2 echo "L'opération a échoué. Veuillez vérifier ce qui ne va pas et réessayer." 1>&2 exit 1 }
--------------------------------------------------------------------------------------------------#
```
1 2 3 |
|
Ensuite, l'exécution du script est activée :
1 |
|
Désormais, chaque utilisateur peut l'utiliser :
1 |
|
Les tâches suivantes sont effectuées lors de l'exécution du script :
- Les caches de fichiers dans le répertoire temp/ sont vidés.
- Les paquets mis à jour qui ne sont plus nécessaires sont supprimés.
- Les anciennes entrées du journal sont archivées.
- Le cache des droits d'utilisateur est reconstruit à neuf.
- Les objets "non terminés" sont supprimés de manière irrévocable.
- L'index de recherche est créé à nouveau.
- Des notifications sont envoyées par e-mail.
Automatisation des Appels de Tâches#
Quand et à quelle fréquence ?#
Nous recommandons d'exécuter les tâches mentionnées ci-dessus au moins une fois par jour. Vous devriez vous assurer qu'aucune autre interaction n'est effectuée dans i-doit pendant l'exécution - ni via l'interface web ni à travers des scripts supplémentaires ou par des applications externes via l'API. Par conséquent, les tâches sont généralement effectuées pendant la nuit.
GNU/Linux#
Sous Linux, vous pouvez exécuter des commandes automatisées régulièrement. Vous pourriez utiliser cron, anacron, crontab ou systemd.timer.
Windows#
Les scripts mentionnés dans cet article ne fonctionnent pas sous Windows sans autre préparation et devraient être remplacés par des scripts équivalents. Les tâches Windows sont adaptées à l'automatisation.
Attraper les problèmes#
Afin d'intercepter d'éventuelles erreurs et de les signaler à l'administrateur système responsable, vous pouvez configurer le système d'exploitation de manière à ce que des e-mails soient envoyés en conséquence. Un simple expéditeur de courrier est sSMTP. Cependant, le script idoit-jobs crée beaucoup de sortie dans le terminal. Vous pouvez appliquer l'outil chronic pour que seules les erreurs soient signalées. Cet outil peut être installé rétroactivement sur de nombreux systèmes d'exploitation, souvent il est contenu dans le paquet de distribution moreutils.
Attention
Le paquet moreutils et donc l'outil chronic ne font pas partie de SLES. Par conséquent, vous devez télécharger chronic manuellement depuis le site web :
1 2 3 4 5 |
|
Exemple pour Cron#
Nous créons un nouveau fichier pour Cron :
1 |
|
Le fichier contient les éléments suivants :
1 2 3 4 5 |
|
Chaque jour à 5h05, le script idoit-jobs est exécuté avec les permissions de l'utilisateur Apache www-data. Pour ne recevoir que les erreurs par e-mail, nous utilisons *chronic*. Les erreurs sont envoyées via des notifications par e-mail.