Newsgroup: it.comp.os.linux.iniziare
Titolo: redirect output via mail

Ciao a tutti,
ho creato un file bash che funziona perfettamente ma non riesco ad 
inviare l'output generato via mail .
Potete aiutarmi ?
 
#! /bin/bash
for i in `cat listaip.txt`
do
ping -c 10 $i
done > output.txt | mail -s "risultato" 
pi...@pippo.it
 


Quella redirezione non funziona, stai mandando l'output del for dentro ad 
un file di testo, e niente nello stdin di mail.
 
quindi:
 
...
done | mail -s "risultato" 
pi...@pippo.it
 
 
 
poi, il motivo per cui non viene mandata, controllalo aggiungendo 
verbosità al comando mail con -v 
 
man mail
 
e controllando i log del tuo MTA
 
di solito in /var/log/mail.*
 
 
 
 


 
grazie molto gentile


 
Funziona.
 
ma se volessi scrivere nella mail in questo modo:
 
done | mail -s "risultato" 
pi...@pippo.it
 < filemail.txt
 
mi cancella tutto il contenuto dell'output del ping :-/
 
 
 
 


Direi che è giunto il momento di studiarti come funzionano le redirezioni.
 

 
 
 
-- 
 
piergiorgio

 Direi che è giunto il momento di studiarti come funzionano le redirezioni.
 
Ok.
Se hai un link specifico lo leggo volentieri, altrimenti se mi puoi 
aiutare su che parola ricercare su google.
 
Comunque lo script bash funziona solo che quando lo metto in crontab mi 
manda una mail vuota.
 

 aiutare su che parola ricercare su google.
 
Garrels Bash Beginner Guide

 manda una mail vuota.
 
Questo è un problema completamente diverso, che non avevi mai menzionato.
 
hint: negli script da far eseguire a cron si devono sempre mettere i path 
completi,  sia agli eseguibili che (soprattutto) ai file 
 
es: 
 
/bin/cat /home/pippo/filemail.txt | /usr/bin/mail -s "risultato" 
pi...@pippo.it
 
 

 done > output.txt | mail -s "risultato" 
pi...@pippo.it
 
 
while read -r IP 
  do
    ping -c 10 $IP
 done < listaip.txt |
    mail -s "risultato" 
pi...@pippo.it
 
 
Posta il tuo problema, non la tua soluzione
 
 


 
Perdonami sono un neofita.
Provo con questo per vedere se ti è utile:
 
questo è il file bash script ( scriptbash.sh)
 
#! /bin/bash
for i in `cat listaip.txt`
do
ping -c 10 $i
done > ping.txt
cat ping.txt | mail -s "risultato" 
pi...@pippo.it
 
 
 
=====
 
crontab -e
 
00 08 * * * bash /home/utente/Scrivania/scriptbash.sh
 
 
 
 
 

 
 
 
come ti ho detto, metti i path assoluti davanti ai nomi dei file
 
listaip.txt diventa /home/utente/Scrivania/listaip.txt
 
il perchè ti faccia redirezione prima su ping.txt, per poi fare un cat 
ping.txt non l'ho capito. a meno che questo ping.txt non ti serva anche 
dopo. Ed in ogni caso, anche quelli va scritto 
 
/home/utente/Scrivania/ping.txt

 completi,  sia agli eseguibili che (soprattutto) ai file
 
Non necessariamente
 
man PATH	% O forse man bash?le
man cd	% anche se è una soluzione sporca
 
A proposito dei file, meglio non mettere proprio dei file /hardcoded/ *^
negli script.
 
* /Hardcoded/ si puà tradurre "cablati" ma mi paere imprecisa. C'è una
  parola italiana più propria?
^ Tranne casi particolari e semplici, non questo comunque.

Addì  martedì 25 giugno 2013 15:02 miagola scrisse:
 

-------
#! /bin/bash
PATH=/bin;/usr/bin
DESTINATARIO= 
pi...@pippo.it
 
while read -r IP 
  do
    ping -c 10 $IP
 done |
    mail -s "risultato" $DESTINATARIO
------
#! /bin/bash
DESTINATARIO= 
pi...@pippo.it
 
while read -r IP 
  do
    /bin/ping -c 10 $IP
 done |
    /ust/bin/mail -s "risultato" $DESTINATARIO
------
 
 
$ crontab -e
45 10 * * * /home/miagola/bin/verificaip.sh </home/miagola/listaip.txt
<ESC>:wq
 
O ancora
 
$ crontab -e
45 10 * * * /home/o1k/pio %192.168.1.1 %192.168.1.2 % 192.168.1.3
<ESC>:wq


   parola italiana più propria?
 
wikipedia dice cablare a codice, credo l'ultimo che ha usato questa 
espressione stesse salvando l'output del programma sulla sua fida scheda 
perforata.



 
grazie 1000.
funziona ;-)

 perforata.
 
Umh... a me risulta tutt'ora parte del gergo: "$valore$ è cablato" 
oppure "c'è un cablone", spesso detto in senso dispregiativo o per 
sottintendere una soluzione apparentemente funzionante ma potenzialmente 
fonte di disastri.
 
Per gli amanti del genere in un progetto medio/grande solitamente sono 
figli del "Commando Pattern" o del "Tempest Method":
 
http://tinyurl.com/chtuk65
 
 

 fonte di disastri.
 
E in effetti, "cablare a codice", di solito lo è.
 
-- 
Massimo Bacilieri AKA Crononauta

 perforata.
 
Al più "cablare nel codice". Mi pare una cosa ammuffita, non mi piace.
 
 

   parola italiana pi� propria?
 
programmati nel marmo?

 programmati nel marmo?
 
HHOS