Je désire surveiller le remplissage des différentes partitions de mon système,je souhaiterais via un script Bash lister mes partitions les surveiller à partir de la commande df, initialiser un fichier log spécifique dans /var/log,avec une fonction qui lui permette de déposer un message dans le fichier log avec, à chaque fois, la date et l’heure,enregistrer dans le fichier log le début de la surveillance,
exécuter une boucle infinie avec une pose de 5 minutes entre chaque tour,à chaque tour de boucle il teste chaque partition et envoie un message si l’espace libre est
inférieur à 10% (réglable) et stoppe sur réception d’un signal SIGTERM avec un message dans le log.
N’ayant pas beaucoup de connaissance en programmation, je fais appel à vos lumière.
[quote]Q: How do I do <some small essay problem; obviously contrived for a school assignment; too well defined to be from the real world>?
A: Do it yourself. If you get stuck, ask a specific question.[/quote]
On écrira pas le script pour toi sous prétexte que tu l’a demandé. Commence à tenter quelque chose qui fait une partie de la solution et on t’aidera sur chaque problème spécifique.
@grigric > C’est cool un perliste Je suis d’accord pour zsh, mais python, non faut pas déconner non plus.
J’avais fait un script pour surveiller une partition spécifique avec envoi de mail dès que la place disponible est en dessous d’un poucentage. A Toi de l’adapter, mais je pense que le plus gros est fait :
dispo_home=$((100-$(df -h | grep home | awk -F " " ‘{print $4}’ | sed “s/%//”)))
echo -e “Le $(date +%d-%m-%Y” “%H:%M:%S) : La place libre du système de fichier home est de $dispo_home % seulement” >> $chem"rapport.log";
if [ $dispo_home -lt 30 ]; then
mail -s “Surveillance partition” $email < $chem"rapport.log";
fi
La mise en place d’un agent Zabbix récupérant un trigger simple permet de surveiller partition par partition une machine, autre avantages tu peu ensuite gérer le pourcentage de remplissage d’une ou plusieurs partition assez simplement.
Le gros désavantages c’est qu’il te faudra mettre ne place un proxy Zabbix et d’installer un agent sur la machine à surveiller ( c’est un peu usines à gaz, un simple “check quota” devrait effectivement donné des résultats sympa ou carrément un petit script maison ).
Tout code perl 5 reste compatible avec Perl 5.14 (la dernière version actuelle). Les développeurs de perl sont très soucieux de cela. Perl 5 est sorti en 1994.
Bien sûr le langage a énormément évolué depuis (surtout depuis la version 5.10). Bref ça reste d’actualité au pire ça n’utilise pas les dernières techniques.
Python et perl sont vraiment 2 langages totalement opposés si l’un dis une chose, le second dis précisément l’inverse. En perle tu peux écrire ça :
foreach (@tableau) {
say;
}
C’est très loin de python autant sur la forme (; à la fin des instructions, bloque ouvert et fermé avec {}) que du fond on utilise une variable implicite $_ dans say, déclaré de manière transparente par le foreach.
Mais si tu veux des éléments discriminants : perl roxx des patates en ligne de commande (il est capable de remplacer sed/grep/awk/cut) et python a ipython.
Python est très utilisé et très armé pour le scientifique, perl déchiquette tout les langages pour de la programmation proche du système.
Perl est unix, python est attristant.
Perl est beau, python tue les pandas.
Perl rend les cheveux doux et soyeux, python éloigne les filles.
Perl c’est classe, python est une mode.
Whaouh!! Que de bonnes raisons de préférer le langage Perl!!
Ce qui m’ennuies avec Python, ceux sont les fréquentes versions que le langage connait avec des problèmes de compatibilités de versions entre un script écrit dans une version 2.7 et 3.X
Il y a je crois un outil qui s’occupe de la migration de version pour les script…
Perl semble plus pérenne a ce niveau.
Par contre tu dis que la version actuelle de Perl est la 5.14 mais je viens de voir qu’il existe une version Perl 6
Ce genre d’incompatibilité est encore normal. Mais tu as des trucs plus fun entre la version 2.4 et 2.7.
Perl semble plus pérenne a ce niveau.
Perl6 n’est pas encore sorti (pas pour ça qu’elle n’est pas encore disponible). Perl6 est une énorme évolution du langage (bien plus que python 2.7 → 3). Je ne connais pas énormément Perl6 et je ne sais quel compatibilité il y aura entre 5.x et 6.
Je peux juste te dire qu’une grosse partie des fonctionnalités arrivé en 5.10 et plus sont des backportage de perl6 (méthode say, given/when, gestion des encodages, etc).