Suivi de l’activité d’une machine
Extrait de http://bash.cyberciti.biz/
« …Shell script to get uptime, disk usage, cpu usage, RAM usage, system load, etc; from multiple Linux servers and output the information on a single server in html format… »
NB :
Execute the script as follows and copy .gif file in this dir
monitoring.sh > /var/www/html/info.htm
Source : /ftp/info/admin/monitoring/monitoring.sh
Un utilitaire pour produire un rapport d’usage des disques : durep
Je n’ai pas reussi à faire fonctionner la version 0.9 (version cgi) par contre pas de soucis avec la version 0.8.1
Installation
- téléchargement
- décompactage
root@toot:/usr/local/durep# ls
durep-0.8.1.tgz
root@toto:/usr/local/durep# tar xvfz durep-0.8.1.tgz
Paramétrage
- Ne pas oublier de créer le répertoire ou seront stockés les fichiers html sur le serveur www
root@toto: mkdir /var/www/htdocs/quotas/durep/profiles/auto
- Faire un lien O.html vers index.html
Commande
voir le man
1. « durep -w ~/durepweb -td 2 »
This would print the directory tree starting from the current direcâ€
tory to depth 2 to the console and also create web pages in the
directory ~/durepweb (this directory must exist).
2. « durep -f /var/spool/mail »
This might be useful for keeping a check on the mail directory. The
« -f » switch tells durep to just scan files and not descend into
directories. Since the « -w » switch is not present, no web pages are
produced.
3. « durep -x -cp « /(etc|usr/share) » -ep « /var » / »
This more complicated version does the following. It scans the root
filesystem only, hides the contents of any paths begining /etc or
/usr/share and skips the contents of the /var directory.
exemple :
durep -w /var/www/quota/durep/ -x -cp « etc|usr/share » -ep « /var » / -wd 2
Cron
Syntaxe : m h dom mon dow command
m pour minute comprise entre 0 et 59
h pour hour comprise entre 0 et 23
dom pour day of month comprise entre 1 et 31
mon pour month comprise entre 1 et 12
dow pour day of week comprise entre 0 et 7, le dimanche étant 0 ou 7, le lundi 1, etc …
command pour la commande ou la suite de commande à exécuter.
Caractères spéciaux (métacaractères) :
* si l’un des champs m h dom mon dow possède le caractère *, alors cela indique qu’il s’agit de toutes les minutes ou de toutes les heures ou tous les jours du mois ou tous les mois ou tous les jours de la semaine, cela dépend du champ o๠est placé *.
/ permet de spécifier une répétition.
– permet de définir une plage.
, pour spécifier plusieurs valeurs.
Exemples :
*/5 * * * * commande permet d’exécuter une commande toutes les cinq minutes.
0 22 * * 1-5 commande permet d’exécuter une commande tous les jours de la semaine du lundi ou vendredi à 22h.
17 19 1,15 * * commande veut dire les premier et quinzième du mois à 19h17
23 0-16/2 * * * commande signifie toutes les 2 heures à la 23ième minute, entre minuit et 16 heures.
Il y a également des chaînes de caractères spéciales :
Chaîne |
Action |
@reboot |
exécution une fois au démarrage |
@yearly |
exécution une fois par an, « 0 0 1 1 *« |
@annually |
exécution une fois par an, « 0 0 1 1 *« |
@monthly |
exécution une fois par mois, « 0 0 1 * *« |
@weekly |
exécution une fois par semaine, « 0 0 * * 0« |
@daily |
exécution une fois par jour, « 0 0 * * *« |
@midnight |
execution une fois par jour, « 0 0 * * *« |
@hourly |
execution une fois par heure, « 0 * * * *« |
exemple pour durep :
*/1 * * * * durep -w /var/www/quota/durep/ -x -cp « etc|usr/share » -ep « /var » / -wd 2 1 > /dev/null 2 > /dev/null
Attention sans le /dev/null ca ne marchait pas.
Installer le service de quota
Extrait de http://www.developpez.net
- la gestion des quotas s’active disque mounté, et doit etre mis en option dans /etc/fstab
Par exemple :
/dev/hda1 / ext2 defaults 1 1
/dev/hda1 / ext2 defaults,usrquota 1
- pour activer le quota sur /
mount -o remount,usrquota /
- pour créer les fichiers de configs
touch /aquota.user
touch /aquota.group
chmod 600 /aquota.user /aquota.group
Autre lien :
www.linux-pour-les-nuls
Définir les quota pour les individus
Créer un quota type pour un individu toto
$> edquota toto
Créer la liste des personnes liste
$> repquota /dev/hdb1 | awk ‘{print $1}’ > liste
Appliquer le quota sur la liste liste à partir de l’exemple toto
for u in $(cat liste) ; do echo $u ; edquota -p toto $u; done
Suivi du dépassement des quota
$> repquota /dev/hdb1 | grep + | awk ‘ {print $3 » ko » $1}’ | sort -n
1362984 ko celine
1847624 ko pberta07
1892924 ko craillar
Rapport de quota avec la commande repquota + fichier quota-report.php
*/5 * * * * root /bin/date > /tmp/quotas && /usr/sbin/repquota -au >> /tmp/quotas
Source du fichier /ftp/info/admin/quota/quota.report.php