Bonjour,
Je souhaiterais mettre en place un script qui, sur 3 serveurs Server1, Server2, Server3 :
- donne le taux d'occupation du FS / ( commande /bin/df -h / | grep -v -E 'Filesystem|mapper' | awk '{print $(NF-1)}' ).
- si le chiffre trouvé (taux) sans le signe "%" est supérieur à 75 (75%) alors on supprime les fichiers toto*.
- redonne le taux après ménage.
- le tout mentionné dans un fichier /home/kevin/Output.txt
En principe on utilise la simple quote avec rsh mais dans ce cas ça marche pas du tout.
En faisant comme ci-dessous, pas d'erreur dans la forme en rendant verbeux le script mais un souci avec le taux qui n'est pas celui attendu à chaque exécution de la boucle for.
En effet le taux qui sort à chaque fois est celui du FS / du serveur sur lequel se trouve le script et non pas ceux sur mes 3 serveurs Server1, Server2 et Server3.
Mon script :
Je viens vous demander votre avis et conseils.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 for Server in Server1 Server2 Server3; do echo " " echo "$Server :" rsh "$Server" "echo 'Taux occupation du FS / avant menage :' `/bin/df -h / | grep -v -E 'Filesystem|mapper' | awk '{print $(NF-1)}'` " rsh "$Server" "if [ `/bin/df -h / | grep -v -E 'Filesystem|mapper' | awk '{print $(NF-1)}' | sed '$ s/.$//'` -gt 75 ]; then rm -f /home/kevin/toto*; fi" rsh "$Server" "echo 'Taux occupation du FS / apres menage :' `/bin/df -h / | grep -v -E 'Filesystem|mapper' | awk '{print $(NF-1)}'` " done > /home/kevin/Output.txt
Merci.
Partager