Quoi de plus dangereux qu’un disque dur qui est quasiment plein….Naturellement on essaye de dimensionner correctement son disque avant de lancer en production mais bon parfois ca peut arriver.
Avec ce script vous pourrez vous même définir quel est la limite critique avant de faire de la place.
#!/bin/bash
if [ "$( df -h | grep "your partition"| cut -c40-42)" -ge "95" ]; then
echo « Alert disk space is over 95%!! | mail -s « Alert disk » « toto@toto.com »
fi
Cela ne va pas vous sauver la vie bien longtemps….mais c’est toujours quelque jour de gagner. Prévoyez rapidement un agrandissement de votre ROM
Pour ceux qui utilise l’excellente base de données postgresql à l’aide de ce script vous pourrez suivre le nombre de processus postmaster lancé et si la limite que vous avez fixée (ici 250) est atteinte.
Vous recevrez un mail avec les processus en cours afin de savoir qui consomme le plus de ressources.
#!/bin/bash
ps=$(pstree | grep postmaster)
ps1=${ps#*-+-}
nb=${ps1% »* »*}
nbProcess= »250″
subject= »Warning processus »
email= »toto@toto.com »
if [ "$nb" -ge "$nbProcess" ]
then
top=$(ps auxwwfO cu)
echo « Warning the database has $nb requests !!
————————
PROCESSUS RUNNING
————————
$top » | mail -s $subject $email
fi
Maintenant …à vos consoles
Voici quelques petites lignes qui vous permettront de générer un mot de passe en ligne de commande
#!/bin/bash
#Generate a password
nbChar= »30″
strings /dev/urandom | grep -o ‘[[:alnum:]]’ | head -n $nbChar | tr -d ‘\n’; echo
Voili voilou
Il est souvent intéressant quand on a un serveur ftp ou un dossier de partage de savoir ce qu’il y a de nouveau dans ce dossier. Savoir si quelqu’un a jouté ou modifié un dossier ou un fichier.
Pour cela voici un petit script à exécuter en crontab afin que chaque jour, si des modifications ont été apportées à l’arborescence surveillée.
#!/bin/bash
#Initialize constant
fileName=’/yourPath/yourfile/’
subject=’Modification in your file system’
logFile=’/yourPath2/yourfile2/survey.txt’
email=’toto@toto.com’
#Find all file modified or created in the day
find $fileName -mtime -1 -type f -print > $logFile
#Verify if the log file is not empty and send E-mail
if [ -s $logFile ]
then
cat $logFile | mail -s $subject $email
fi
exit 0
Et voilà il n’y plus qu’a créé la cronjob et c’est parti!
Fix Me: Ce script ne gère pas la suppression d’un fichier ou d’un dossier, je devrai donc améliorer ce script.