J'essaie d'envoyer un email via cron pour savoir quels sont les processus qui encombrent mon serveur. Cela fonctionne bien mais l'email résultant est trop étroit et j'ai besoin d'en savoir plus sur le processus.
Voici le script que j'utilise (je l'ai volé ici) : http://www.inmotionhosting.com/support/website/server-usage/create-server-load-monitoring-bash-script ):
#!/bin/bash
trigger=10.00
load=`cat /proc/loadavg | awk '{print $1}'`
response=`echo | awk -v T=$trigger -v L=$load 'BEGIN{if ( L > T){ print "greater"}}'`
if [[ $response = "greater" ]]
then
top -cSbn 1 | head -14 | tail -8 | mail -s"High load on server - [ $load ]" myemail@domain.com
fi
L'e-mail qui en résulte ressemble à quelque chose comme :
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
810809 root 20 0 20700 13m 3032 R 50 0.0 0:00.40 /prod/process-nam
810802 root 20 0 20700 13m 3032 R 48 0.0 0:00.39 /prod/process-nam
810808 root 20 0 20708 13m 3032 S 48 0.0 0:00.35 /prod/process-nam
810803 root 20 0 20708 13m 3032 S 46 0.0 0:00.39 /prod/process-nam
810810 root 20 0 20168 13m 3028 R 46 0.0 0:00.33 /prod/process-nam
318723 www-data 20 0 146m 131m 3320 R 45 0.4 67:27.96 /home/server/pr
810800 root 20 0 20704 13m 3032 S 45 0.0 0:00.39 /prod/process-nam
Comme vous pouvez le constater, il manque tout le chemin. Mais si je lance le script depuis bash, cela fonctionne, envoyant un email suffisamment large.
S'agit-il d'un problème lié à ncurses ? Un problème avec Pipe Mail ?
Merci de votre attention !