Niedzia
Hm, ja testowałem ten skrypt na moim koncie (poczta na o2.pl ) i trzeba przekonfigurować
Żeby wysyłał pocztę "na zewnątrz".
Jak sobie wpiszesz w terminalu: mail to bankowo będziesz miał komunikaty błędów typu:
Kod: Zaznacz cały
dpkg-reconfigure exim4-config
Jak sobie wpiszesz w terminalu: mail to bankowo będziesz miał komunikaty błędów typu:
A i jeszcze - żeby wykonać sendmail... trzeba to robić jako root / ew. sudo ... bo jak odpalałem jako zwykły użytkownik to nie śmigało.Message 1:
From MAILER-DAEMON Wed Mar 19 22:09:56 2014
Envelope-to: root@debian
Delivery-date: Wed, 19 Mar 2014 22:09:56 +0100
X-Failed-Recipients: 48(twójnumer)[email protected]
Auto-Submitted: auto-replied
From: Mail Delivery System <Mailer-Daemon@debian>
To: root@debian
Subject: Mail delivery failed: returning message to sender
Date: Wed, 19 Mar 2014 22:09:55 +0100
This message was created automatically by mail delivery software.
A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:
48(twójnumer)@text.plusgsm.pl
Mailing to remote domains not supported
...
Jeżeli masz modem gsm w laptopie, to spróbuj skonfigurować jakiś program do wysyłania sms'ów przy jego pomocy: http://forum.dug.net.pl/viewtopic.php?id=19854
Mój plik wygląda tak:
Specjalnie wyłączyłem router i spingowałem bezpośrednio przez ping. Nie było odpowiedzi. Wykonałem skrypt i nic się nie działo. Byłem połączony przez GSM.
Przy exim4 pokazuje mi że nie ma takiego pakietu zainstalowanego. Nie chcę wysyłać wiadomości SMS przez modem.
Kod: Zaznacz cały
#!/bin/sh
# ustawienia
HOST=$1
PARAMETR=$2
ADMINTEL="486016xxxxxx"
ADMINMAIL="admin@jakis_serwer.pl"
LOG="./pingtest.log"
# tworzenie pliku logow, jesli nie istnieje
if [ ! -e $LOG ]; then
touch $LOG
fi
# funkcja wysylajaca sms pod podany w ustawieniach numer
sms () {
{
echo From: [EMAIL="powiadomienia@jakis_serwer.pl"]powiadomienia@jakis_serwer.pl[/EMAIL]
echo To: [email protected]
echo
echo `date '+%d/%m/%Y %H:%M:%S'` ":: Host \"$HOST\" nie odpowiada na pingi"
echo .
echo quit
} | /usr/sbin/sendmail -t
}
# funkcja wysylajaca e-mail pod adres podany w ustawieniach
email () {
{
echo Awaria:
echo
echo `date '+%d/%m/%Y %H:%M:%S'` ":: Host \"$HOST\" nie odpowiada na pingi"
} | mutt -s "Awaria" -a $LOG $ADMINMAIL }
# wypuszczenie pieciu pingow, wynik przypisz do zmiennej wynik
ping $1 -c5 -w5 | grep 'ttl' > /dev/null let wynik=$?
# jesli ping dojdzie (wynik 0)...
if [ $wynik -eq 0 ]; then
echo ok > /dev/null
# zapisz informacje do logow
echo `date '+%d/%m/%Y %H:%M:%S'` ":: Host \"$HOST\" odpowiada na pingi" >> $LOG
# jesli ping nie dojdzie (wynik 1)
else
# zapisz informacje do logow
echo `date '+%d/%m/%Y %H:%M:%S'` ":: Host \"$HOST\" nie odpowiada na pingi" >> $LOG
if [ "$PARAMETR" != "" ]; then
# badanie drugiego parametru, domyslnie slij e-mail
if [ $PARAMETR = "email" ]; then
email
elif [ $PARAMETR = "sms" ]; then
sms
elif [ $PARAMETR = "email+sms" ]; then
email
sms
else
echo `date '+%d/%m/%Y %H:%M:%S'` ":: Bledny parametr przy badaniu hosta \"$HOST\": $PARAMETR (wysylam e-mail)" >> $LOG
email
fi
else
echo `date '+%d/%m/%Y %H:%M:%S'` ":: Nie podano parametru przy badaniu hosta \"$HOST\" (wysylam e-mail)" >> $LOG
email
fi
fi
}
Przy exim4 pokazuje mi że nie ma takiego pakietu zainstalowanego. Nie chcę wysyłać wiadomości SMS przez modem.
Byłeś połączony przez modem z internetem? Ten skrypt wymaga połączenia z internetem aby wysłać smsa. Jeżeli chcesz to zrobić przez modem ale bez połączenia z internetem (jak zwykły telefon komórkowy) to musisz to skonfigurować - sprawdź mój poprzedni post.
Jeżeli chcesz to zrobić przez internet (modem połączony z internetem) to musisz odpowiednio skonfigurować modem i zmodyfikować skrypt tak aby najpierw łączył się z internetem. Jeżeli już to robisz, to sprawdź tablicę trasowania poleceniem:
Jeżeli chcesz to zrobić przez internet (modem połączony z internetem) to musisz odpowiednio skonfigurować modem i zmodyfikować skrypt tak aby najpierw łączył się z internetem. Jeżeli już to robisz, to sprawdź tablicę trasowania poleceniem:
Kod: Zaznacz cały
route
Pokaż jeszcze wyniki:
po podłączeniu modemu do internetu.
Kod: Zaznacz cały
ifconfig
Kod: Zaznacz cały
eth0 Link encap:Ethernet HWaddr 00:1e:33:b4:c9:21
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:44 Base address:0x4000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:6648 errors:0 dropped:0 overruns:0 frame:0
TX packets:6648 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:877391 (877.3 KB) TX bytes:877391 (877.3 KB)
ppp0 Link encap:Point-to-Point Protocol
inet addr:5.173.78.57 P-t-P:10.64.64.64 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:47 errors:0 dropped:0 overruns:0 frame:0
TX packets:64 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:4361 (4.3 KB) TX bytes:4395 (4.3 KB)
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 10.64.64.64 0.0.0.0 UG 0 0 0 ppp0
10.64.64.64 * 255.255.255.255 UH 0 0 0 ppp0
link-local * 255.255.0.0 U 1000 0 0 ppp0