- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我编写了一个脚本,每 5 分钟从 cron 运行一次。
它获取名为“nowipaddr”的文件中的现有 IP,然后运行 if 循环来检查新 IP 与现有 IP,如果两个 IP 保持相同,则可以跳过发送电子邮件。否则,如果 IP 发生变化,它应该发送包含新 IP 的电子邮件。
问题是,无论 IP 是否发生变化,它仍然每 5 分钟向我发送一封电子邮件。如果有更改,它会使用新 IP 更新文件“nowipaddr”并发送电子邮件。如果没有改变,则执行相同的操作。
#!/bin/bash
NOWIPADDR="/home/scripts/nowipaddr"
GETIPADDR="dig +short myip.opendns.com @resolver1.opendns.com"
LOG="/home/scripts/ip.log"
timestamp=$( date +%T )
curDate=$( date +"%m-%d-%y" )
if [ -f $NOWIPADDR ]; then
if [[ `$GETIPADDR` = $(< $NOWIPADDR) ]]; then
echo $curDate $timestamp " IP address check: " $(< $NOWIPADDR) >> $LOG
else
$GETIPADDR > $NOWIPADDR
mail -s "New Server IP" email@gmail.com < $NOWIPADDR
fi
else
curl $GETIPADDR > $NOWIPADDR
mail -s "Server IP" email@gmail.com < $NOWIPADDR
fi
我希望它在 IP 发生变化时发送电子邮件
最佳答案
我对代码做了一些更改,看起来效果很好,但我想确保它是正确的方法
#!/bin/bash
NOWIPADDR="/home/scripts/nowipaddr"
GETIPADDR="dig +short myip.opendns.com @resolver1.opendns.com"
LOG="/home/scripts/ip.log"
timestamp=$( date +%T )
curDate=$( date +"%m-%d-%y" )
if [ -f $NOWIPADDR ]; then
if [ `cat $NOWIPADDR` = `$GETIPADDR` ]; then
echo $curDate $timestamp " IP address check: " `cat $NOWIPADDR` >> $LOG
else
$GETIPADDR > $NOWIPADDR
mail -s "New Server IP" email@gmail.com < $NOWIPADDR
fi
else
curl $GETIPADDR > $NOWIPADDR
mail -s "Server IP" email@gmail.com < $NOWIPADDR
fi
我变了
if [[ `$GETIPADDR` = $(< $NOWIPADDR) ]]; then
至
if [ `cat $NOWIPADDR` = `$GETIPADDR` ]; then
基于同一链接的其他答案
关于linux - 服务器脚本在不应该发送电子邮件的时候不断发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56570696/
如果这不是一个错误,那就是另一个错误。如果不是那样的话,那就是别的东西了。我觉得我的项目已经改变了很多,现在只是试图解决代码签名问题,结果一切都搞砸了。我严格按照说明进行操作,但出现错误,例如当前的“
我不确定是否有一些我不知道的内置变量或规则,或者 make 是否有问题,或者我只是疯了。 对于我的一个项目,我有一个如下的 makefile: CC=g++ CFLAGS=-O3 `libpng-co
我有大约 10 个 div,它们必须不断翻转,每个 div 延迟 3 秒 这个 codrops 链接的最后一个效果是我正在寻找的,但无需单击 div http://tympanus.net/Devel
我如何使用 jQuery 持续运行 PHP 脚本并每秒获取响应,以及将鼠标上的少量数据发送到同一脚本? 我真的必须添加一些随机扩展才能让这么简单的计时器工作吗? 最佳答案 To iterate is
JBoss 4.x EJB 3.0 我见过如下代码(大大简化): @Stateless @TransactionAttribute(TransactionAttributeType.NOT_SUPPO
使用 PHPStorm,我试图忽略每次尝试进行 git 提交时 pop 的 workspace.xml。 我的 .gitignore 看起来像: /.idea/ .idea/workspace.xml
我是一名优秀的程序员,十分优秀!