使用 GPS 信息和邮件更改 IP 日志。我需要稳健性
Changing IP log with GPS information and mail. I need robustness
我创建了一个脚本以接收包含我的 macbookpro 的 wan 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 mymailadress@mail.com < IPlog.txt
rm IPlog.txt
else
rm /tmp/ip2
fi
系统每分钟都会执行此脚本来验证 wan ip 是否已更改。如果它发生了变化,脚本会给我发一封包含新信息的邮件。问题是:
1.- 邮件并非总是正确发送。有时候不接受
2.- 邮件未包含所有信息。有时它只包含新的 wan ip 地址。
3.- 有时邮件被认定为垃圾邮件,我不知道为什么,因为发件人地址始终相同。
我有一些建议来调试你的问题。
首先,您应该使用与 tmp 不同的位置来存储 ip。如果您的系统在启动时擦除您的 tmp 文件夹,并且您的系统在启动后获得一个新的 WAN ip,您将丢失以前记录的 ip。
使用 $?
发送时检查 mailx 的退出代码。 0 没问题。您可以执行 while 循环并继续尝试发送它,直到获得退出代码 0。
您可以将邮件的信息添加到局部变量而不是文件。
IPLog=`date`
IPLog+=`curl -s icanhazip.com`
垃圾邮件问题可能是由于邮件中的 IP 地址引起的。或者 ./Downloads/whereami
添加到文件中的任何内容。将发送电子邮件地址添加为受信任的发件人可能会这样做。
查看电子邮件 header 以获取有关垃圾邮件分数的信息。
我创建了一个脚本以接收包含我的 macbookpro 的 wan 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 mymailadress@mail.com < IPlog.txt
rm IPlog.txt
else
rm /tmp/ip2
fi
系统每分钟都会执行此脚本来验证 wan ip 是否已更改。如果它发生了变化,脚本会给我发一封包含新信息的邮件。问题是:
1.- 邮件并非总是正确发送。有时候不接受
2.- 邮件未包含所有信息。有时它只包含新的 wan ip 地址。
3.- 有时邮件被认定为垃圾邮件,我不知道为什么,因为发件人地址始终相同。
我有一些建议来调试你的问题。
首先,您应该使用与 tmp 不同的位置来存储 ip。如果您的系统在启动时擦除您的 tmp 文件夹,并且您的系统在启动后获得一个新的 WAN ip,您将丢失以前记录的 ip。
使用 $?
发送时检查 mailx 的退出代码。 0 没问题。您可以执行 while 循环并继续尝试发送它,直到获得退出代码 0。
您可以将邮件的信息添加到局部变量而不是文件。
IPLog=`date`
IPLog+=`curl -s icanhazip.com`
垃圾邮件问题可能是由于邮件中的 IP 地址引起的。或者 ./Downloads/whereami
添加到文件中的任何内容。将发送电子邮件地址添加为受信任的发件人可能会这样做。
查看电子邮件 header 以获取有关垃圾邮件分数的信息。