2015-10-23 4 views
0

Я создал сценарий, чтобы получать почту с информацией о wan ip и местоположением GPS моего macbookpro. Содержание сценария заключается в следующем:Изменение журнала IP с информацией GPS и почтой. Мне нужна надежность


#!/bin/bash 
# -*- ENCODING: UTF-8 -*- 

if [ ! -e /tmp/ip ]; then 
    curl -s icanhazip.com > /tmp/ip 
fi 
curl -s icanhazip.com > /tmp/ip2 
newip=$(diff /tmp/ip /tmp/ip2 | wc -l) 
if [ $newip -ne 0 ]; then 
    mv -f /tmp/ip2 /tmp/ip 
    date > IPlog.txt 
    curl -s icanhazip.com >> IPlog.txt 
    sudo ./Downloads/whereami >> IPlog.txt 
    mailx [email protected] < IPlog.txt 
    rm IPlog.txt 
else 
    rm /tmp/ip2 
fi 

Каждую минуту кинозал выполняет этот скрипт, который проверяет, если WAN IP изменился. Если он изменился, сценарий отправит мне письмо с новой информацией. Проблемы:

1.- Не всегда отправляется почта. Иногда я этого не понимаю.

2.- почта не содержит всю информацию. Иногда он включает только новый адрес wan ip.

3.- Иногда почта квалифицируется как спам, и я не знаю почему, потому что отправитель всегда является одним и тем же адресом.

ответ

0

У меня есть предложения по отладке ваших проблем.

Сначала вы должны использовать другое место для хранения ip, чем tmp. Если ваша система вытирает вашу папку tmp при загрузке, и ваша система получит новый WAN-ip после загрузки, вы потеряете предыдущий записанный ip.

Проверьте код выхода mailx при отправке с использованием $?. 0 - нормально. Вы можете сделать цикл while и продолжать пытаться отправить его, пока не получите код выхода 0.

Вы можете добавить информацию о почте в локальную переменную вместо файла.

IPLog=`date` 
IPLog+=`curl -s icanhazip.com` 

Проблема со спамом может быть связана с IP-адресом по почте. Или что-то еще ./Downloads/whereami добавляет в файл. Это может сделать добавление отправляемого адреса электронной почты в качестве доверенного отправителя.

Проверьте заголовок сообщения электронной почты для получения информации о количестве спама.