树莓派 IP 地址定时检查
使用 shell 脚本实现
#!/bin/bash
check_ip() {
export HOME=/root
if ping -c 1 -W 1 baidu.com >/dev/null
then
cd /root/MyCodes/Github/raspberry-pi-ip-check
git pull
oldIP=`cat my-raspberry-pi-ip.md | tr -d '\n\r'`
newIP=`ifconfig -a|grep inet|grep 192|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"`
now=`date "+%Y-%m-%d %H:%M:%S"`
if [[ $newIP != $oldIP ]]
then
echo -e "newIP: $newIP\nTime: $now\n"
echo $newIP > my-raspberry-pi-ip.md
git add .
git commit -m "$now"
git push
else
echo -e "oldIP: $oldIP\nTime: $now\n"
fi
fi
}
check_ip
思路:首先到 Gitee 上新建仓库用于保存树莓派的新 IP 地址,然后在树莓派上安装 Docker 并启动 Alpine 容器。之后把 Shell 脚本放到容器里面,开启定时任务,每隔三分钟自动执行一次。最后,当树莓派的 IP 地址发生变化后,就会自动更新 Gitee 仓库里面保存的 IP 地址。
添加定时任务配置
echo "*/3 * * * * /root/Shell/check_ip_timer_task.sh" >> /var/spool/cron/crontabs/root
启动定时任务服务
crond