Pessoal Bom Dia,
Preciso monitorar o espaço em disco de um servidor uma vez por dia,
depois vou usar um agente SNMP pra isso, mas no momento pensei em fazer um
shell para me mandar essa informação por e-mail.
Só que as informações vem truncadas, como no exemplo abaixo... Como
fazer para ele "quebrar" as linhas?
PS. O Script de envio de e-mail peguei pronto do site do Eliphas Levy
Theodoro, e acrescentei as variáveis que preciso, mantendo os devidos créditos.
Begin forwarded message:
Date: Mon, 29 Oct 2007 17:20:09 -0200
From: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Subject: Servidor nome.meudominio
Veja as informacoes do Servidor nome.meudominio:
Mon Oct 29 17:20:09 BRST 2007
Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup_ID_6791-LogVol1
24G 7.3G 15G 34% / /dev/sda3 99M 15M 80M 16% /boot none 7.9G 0 7.9G 0% /dev/shm
/dev/mapper/VolGroup_ID_6791-LogVol2 5.0G 43M 4.7G 1% /tmp
/dev/mapper/VolGroup_ID_6791-LogVol5 7.9G 3.1G 4.4G 42% /usr
/dev/mapper/VolGroup_ID_6791-LogVol4 15G 542M 14G 4% /var
/dev/mapper/VolGroup_ID_6791-LogVolHome 7.9G 461M 7.1G 7% /home /dev/emcpowera
89G 19G 66G 23% /u03/oracle/data /dev/emcpowerb 20G 2.6G 17G 14%
/u03/oracle/undo /dev/emcpowerc 15G 220M 14G 2% /u03/oracle/redo /dev/emcpowerd
20G 2.2G 17G 12% /u02/oracle/arch /dev/emcpowere 99G 19G 75G 21%
/u02/oracle/data /dev/emcpowerf 20G 955M 18G 5% /u02/oracle/temp /dev/emcpowerg
32G 7.1G 24G 24% /u03/oracle/arch /dev/emcpowerh 89G 14G 71G 17%
/u03/oracle/indx /dev/emcpoweri 20G 2.1G 17G 11% /u03/oracle/temp
/dev/emcpowerj 106G 15G 86G 15% /u04/oracle /dev/emcpowerk 99G 14G 80G 15%
/u02/oracle/indx /dev/emcpowerl 20G 5.1G 14G 28% /u02/oracle/undo
/dev/emcpowerm 15G 220M 14G 2% /u02/oracle/redo
==> Aqui segue o Script: <==
#!/bin/bash
# -*- coding: UTF-8 -*-
# vim:ts=4:sw=4:ai:si:ci
# mailtest.sh - Tests your smtp mail by sending something and parsing errors
# Copyright 2006 Eliphas Levy Theodoro <mailto: lookup on euodeio.net>
# License: GPLv2
# keywords: bash script tcp smtp send mail
# ChangeLog
# 2005-07-04: v0.1
# First version, release
HOST=`hostname`
DATA=`date`
ESPACO=`df -kh`
mailserver=meu-servidor-de-email.meudominio
mailport=25
from="[EMAIL PROTECTED]"
to="[EMAIL PROTECTED]"
subject="Servidor $HOST"
# The text can be in various lines, but you NEED to use \r\n.
# Some servers (qmail mostly) will not accept it otherwise.
# http://www.faqs.org/rfcs/rfc2822.html
# Note: You can hack into this and use some file if you like.
text="Veja as informacoes do Servidor $HOST:\r
`echo $DATA`\r
`echo $ESPACO`\r
.\r\n"
exec 5<>/dev/tcp/$mailserver/$mailport
quit() {
echo "Closing connection."
exec 5<&- # closing connection
}
# ensure closed connection on end
trap quit EXIT
trap quit SIGHUP
trap quit SIGINT
trap quit SIGQUIT
trap quit SIGKILL
date=`LC_ALL=C date "+%a, %d %b %Y %k:%M:%S %z"`
header="From: $from\r\nTo: $to\r\nSubject: $subject\r\nDate: $date\r\n\r\n"
i=0
exitcode=0
while read line; do
# you can see everything the server echoes by uncommenting this:
# echo "$line"
set - $line
case $1 in
220) # greeting, we're in
echo "Great, server is showing confidence."
echo "EHLO $HOSTNAME" >&5
;;
250)
let i++
if [ "$i" == 1 ]; then # we've been greeted, let's say what we want
echo "Sending recipient address"
echo -en "mail from: $from\r\n" >&5
elif [ "$i" == 2 ]; then # final destination
echo "Sending destination address"
echo -en "rcpt to: $to\r\n" >&5
elif [ "$i" == 3 ]; then # data starting... now!
echo "Starting data transfer"
echo -en "data\r\n" >&5
elif [ "$i" == 4 ]; then # data successfully received
echo "All done, goodbye friend"
echo -en "quit\r\n" >&5
else # we don't expect more than 3 250-OK responses.
echo "I can't understand you, insensitive clod!"
echo -en ".\r\nrset\r\nquit\r\n" >&5
exitcode=1;break
fi
;;
354) # go ahead, send text
echo "Email header going"
echo -en "$header" >&5
echo "Email body going"
echo -en "$text" >&5
;;
[0-9]*-*) # followup lines, don't bother
true
;;
221) # thanks! by the way, nice shoes.
echo "Thanks, see you again"
true
;;
*) # whoops, something happened .
echo "Error sending mail:"
echo "$line"
echo -en ".\r\nrset\r\nquit\r\n" >&5
exitcode=1;break
;;
esac
done <&5
quit
exit $exitcode
--
°v° André Déo "O pensamento se torna ação,
/(_)\ http://andredeo.multiply.com/ a ação gera o hábito,
^ ^ [EMAIL PROTECTED]|[EMAIL PROTECTED] o hábito forma o caráter
GNU/Linux user: 371857 e o caráter decide o destino."
http://counter.li.org Frank Buchman
_______________________________________________
Linuxchix mailing list
[email protected]
http://listas.linuxchix.org.br/mailman/listinfo/linuxchix