#!/bin/sh
# 保存为getIP.sh
# 自动将动态域名a.b.c.com的公网IP设置成jcyk8s.com,jcy888.com在/etc/dnsmasq.hosts中的ip
touch /tmp/lastIPAddress
# 读取最近外网地址
lastIPAddress() {
inter="/tmp/lastIPAddress"
cat $inter
}
#公网域名
ADDR=<你的动态域名:比如a.b.c.com>
lastIP=$(lastIPAddress)
hostIP=`ping ${ADDR} -c 1 | sed '1{s/[^(]*(//;s/).*//;q}'`
if [ "$lastIP" != "$hostIP" ] && [ ! -z "$hostIP" ] ; then
echo "【互联网 IP 变动】" "目前 IP: ${hostIP}"
echo "【互联网 IP 变动】" "上次 IP: ${lastIP}"
echo -n $hostIP > /tmp/lastIPAddress
sed -i.bak -n '{s/.* jcyk8s.com/'"$hostIP"' jcyk8s.com/;p;g}' /etc/dnsmasq.hosts
sed -i.bak -n '{s/.* jcy888.com/'"$hostIP"' jcy888.com/;p;g}' /etc/dnsmasq.hosts
echo $(date) > /tmp/666.txt
else
echo "无变化"
fi
配合frpc做http服务服用非常方便!
# 想要每分钟都执行?添加没分钟执行一次的更新脚本的任务
# crontab -e
* * * * * /mnt/ntfsc/getIP.sh