#!/bin/bash
temp=$(sensors|grep Core|sed -e's/[^0-9.]//g' -e 's/^0//g'|tail -1|awk -F"." '{print $1}')
wget http://it.meteo.yahoo.com/italia/toscana/cerreto-guidi-12846264/
external=$(grep -i "<div temp-c \">" index.html |tr "<" "\n"| grep -i "day-temp-current temp-c"|sed -e 's/[^0-9]//g')
clear
echo "Temperatura interna: $temp gradi centigradi"
echo "Temperatura esterna: $external gradi centigradi"
if [ $temp -gt 55 ]; then
cat > /tmp/chktmp.eml <<DT
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<title>Tempi di apertura sito</title>
<h1 >TEMPERATURA ALTA</h1>
<h2>La temperatura del server <b>$(hostname)</b> è di <span ><b>$(echo $temp) ° C</b></span>.</h2>
<p>La temperatura esterna è di <b>$(echo $external)° C</b> rilevata da <a href="http://it.meteo.yahoo.com/italia/toscana/cerreto-guidi-12846264/">ClassMeteo</a>.</p>
<br />
<br />
<p>Rispondendo a questa mail contatterai il gruppo di supporto LBiT soluzioni informatiche.</p>
<p>Mail inviata da $(hostname).</p>
DT
(cat <<EOCAT
Subject: ALLARME TEMPERATURA $(echo $hostnama) $(echo $temp)
MIME-Version: 1.0E
Content-Type: text/html
Content-Disposition: inline
From:$(hostname).lbit-solution.it <no-replay@lbit-solution.it>
To: Gruppo Supporto LBiT soluzioni informatiche <supporto@lbit-solution.it>
EOCAT
cat /tmp/chktmp.eml) | /usr/sbin/sendmail supporto@lbit-solution.it amministrazione@lbit-solution.it
fi
rm -f index.htm*
Sponsors
A quick idea by Chris Rowe follow me @chrisrowe • Help spread the word and tweet about this site • What's the Epoch
Riprendo degli argomenti che volevo affrontare nei mesi scorsi ma non ho potuto, il controllo dei dischi con alert mail.
Come al solito nulla di complicato, scriviamo uno script che controlla lo spazio disco e, se inferiore ad una data percentuale, provvede ad in inviare una mail in formato HTML, nel contenuto della mail ci sarà anche il link ad una pagina di gestione per sistemi con IP DINAMICI.
Ecco il codice:
1 #!/bin/bash
2 # SCRIPT ELSAMU VPS
3 # FILESYSTEM /media/160 GIGA
4 ### CONFIG ####
5 FSCHK="/var/www/vhosts"
6 DSCHK="/dev/vzfs"
7 WEBPAGE=""
8 rm -f index.html
9 INTIP="`/sbin/ifconfig eth0 |grep -i inet|head -1|awk '{print $2}'|sed -e 's/addr://g'`"
10 EXTIP="`wget http://www.indirizzo-ip.com/;grep -i TITLE index.html |awk '{print $3}'|sed -e 's/<\/TITLE>//g'`"
11 SPACE=`df -h $DSCHK|awk '{print $5}'|tail -1|sed -e 's/%//g'`
12
13 #### INIZIO SCRIPT
14
15 if [ $SPACE -gt 85 ]
16 then
17 cat > /tmp/alert.html <<DT
18 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
19 <html>
20 <head>
21 <meta http-equiv="content-type" content="text/html; charset=windows-1250">
22 <title>Alert filesystem</title>
23 </head>
24 <body>
25 <h1 style="color: red">RISCHIO FILESYSTEM FULL</h1>
26 <h3>ATTENZIONE FILESYSTEM $SPACE %</h3>
27 <p>HOSTNAME: <b>`hostname`</b></p>
28 <p>PUBBLIC IP: <b>$EXTIP</b></p>
29 <p><a href=`echo "\"http://$EXTIP$WEBPAGE\""`>WEB PAGE INFO SERVER </p></h5>
30
31
32 <p> <b>STATO FILESYSTEM:</b><br />
33 $(df -h $DSCHK|while read line;
34 do echo "$line <br />"
35 done) </p>
36
37 <p><b>LA DIRECTORY $FSCHK OCCUPA:</b><br />
38 $(du -sh $FSCHK|tail -1)
39 </p>
40
41 <p> <b>STATO FILESYSTEM GENERALE:</b><br />
42 $(df -h|while read line;
43 do echo "$line <br />"
44 done) </p>
45
46 <br />
47 <h5><a href="http://www.lbit-solution.it">Mail send by LBiT soluzioni informatiche</a></h5>
48 </body>
49 </html>
50
51
52 DT
53
54 (cat <<EOCAT
55 Subject: [ELSAMU-VPS] File System Alert $SPACE
56 MIME-Version: 1.0
57 Content-Type: text/html
58 Content-Disposition: inline
59 EOCAT
60 cat /tmp/alert.html) | /usr/sbin/sendmail supporto@lbit-solution.it
61 rm -f /tmp/alert.html
62 rm -f index.html
63 echo "[$(date +'%F %H:%M:%S')] Filesystem alert - $(df -h $DSCHK|awk '{print $5}'|tail -1|sed -e 's/%//g')% in uso" >> /var/log/chkdsk.log
64 else
65 echo "[$(date +'%F %H:%M:%S')] Filesystem nella norma - $(df -h $DSCHK|awk '{print $5}'|tail -1|sed -e 's/%//g')% in uso" >> /var/log/chkdsk.log
66 fi
67
Ora basta mettere in crontab lo script e sperare che il disco non si saturi mai:
00 * * * * /var/script/chkdisk.sh
Per personalizzare lo script basta cambiare le variabili alla riga 5, 6 e7 e la percentuale oltre la quale deve partire la mail a riga 15; alla riga 60 troviamo invece l'indirizzo al quale inviare la mail.
Il pinguino mi aiuta a distrarlo mentre finisco alcune pratiche urgenti:
sleep 1;clear;echo ciao SAMUEL|cowsay ; sleep 1;clear;echo "ALLONTANATSI DALLA LINEA GIALLA"|cowsay ;sleep 2;sl;sl;clear;echo "TRENO IN TRANSITO AL BINARIO 1"|cowsay ;sleep 2; sl -F; sl -l;sl -eSe poi gli mettiamo un loop abbiamo un nuovo gioco!
while true; do sleep 1;clear;echo ciao SAMUEL|cowsay ; sleep 1;clear;echo "ALLONTANATSI DALLA LINEA GIALLA"|cowsay ;sleep 2;sl;sl;clear;echo "TRENO IN TRANSITO AL BINARIO 1"|cowsay ;sleep 2; sl -F; sl -l;sl -e; doneUn simpatico treno che attraversa il nostro schermo, una mucca controllore! Con un pò di fantasia possiamo farlo diventare un vero gioco, magari con frasi randomiche.
Link and Search
|
Solo
lei ha quel che voglio |



