为树莓派配置开机自动上传IP
查询IP并上传IP
ip.sh
#!/bin/bash
#outside_ip
ip1=`curl -s ipecho.net/plain`
#inside_ip
ip2=`LC_ALL=C ifconfig|grep "inet addr:"|grep -v "127.0.0.1"| cut -d: -f2|awk '{print $1}'`
ip3=`LC_ALL=C ifconfig|grep "[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}"|grep -v "127.0.0.1"|cut -d: -f2|awk '{print $2}'|head -n 1`
if [ ! -n "$ip2" ];
then
ip2=$ip3
fi
url='ip.whark.cn'
#change your name
name='test_ubuntu'
while getopts :ha:o:i: OPTION
do
case $OPTION in
a) name=$OPTARG ;;
o) ip1=$OPTARG ;;
i) ip2=$OPTARG ;;
h)
echo -e "help:\n -a \tname"
echo -e " -o \tthe outside ip"
echo -e " -i \tthe inside ip"
echo -e " -h \thelp document"
exit ;;
\?) ;;
esac
done
url2="$url?outside_ip=$ip1&inside_ip=$ip2&name=$name"
#echo $url2
curl $url2
echo -e "Client : Successful!"
编辑ip.sh并保存
chmod +x ip.sh
查询IP并上传
./ip.sh
然后在 ip.whark.cn 查看
也可以使用参数,”-h” 获取参数列表
./ip.sh --help
# -a 指定本机的名称,如:
./ip.sh -a test_ubuntu
配置开机自动执行
config.sh
#!/bin/bash
path=`pwd`
file_name="ip.sh"
file_path="$path/$file_name"
echo "#auto upload local ip address" >> /etc/rc.d/rc.local
#change your name in here
#echo "$file_path -a your_name > /dev/null" >> /etc/rc.d/rc.local
if [ ! -n "$1" ]
then
echo "$file_path > /dev/null 2>&1" >> /etc/rc.d/rc.local
else
echo "$file_path -a $1 > /dev/null 2>&1" >> /etc/rc.d/rc.local
fi
编辑config.sh并保存
chmod +x config.sh
执行config.sh,添加到开机启动
./config.sh
可直接添加参数name
./config.sh your_name
第二次配置时,需要将 /etc/rc.d/rc.local 文件中,前一次添加的内容删除