【SHELL】记一个没啥用的脚本
2024-10-21 17:34:43
因为最近Terraria更新了嘛,然后又想开服了,但是捏,我原来的UbuntuServer系统因为没有界面,而且我新购置了一台3D打印机,需要软件界面去操作,所以原先的系统就格了,重装win10,然后也去某宝买了个远程开机卡,移动这边是有提供ipv6公网的,但是和之前不同,之前好几个月地址都没有变过的,现在每次开机都会更新一次ipv6地址。
现在需要解决的需求是:开机能够把我的ipv6地址自动上传到我的云服务器,首先是获取本机ip地址嘛,一开始傻傻地去ipconfig,然后想办法提取,后来发现有一个网址可以直接获取ipv6地址:6.ipw.cn,即使用curl去获取到这个ipv6地址,然后赋值给一个变量,然后我再使用curl发送一个post请求给服务器,服务器那边收到请求后,就直接更新ipv6地址。
理论存在,开始动手,在Linux的shell环境下很容易就能够实现:
export ipv6=`curl 6.ipw.cn` && export kv='ipv6='$ipv6 && echo $kv && curl http://xxx.xxx.xxx.xxx/ -X POST -d $kv
也就是说我通过POST请求发送了一个键值对到我的云服务器,然后我服务端那边接收解析出来值,再去进行相应的操作,因为快要回去实习上班了,所以比较赶,直接保存为文件了,实际上我应该存到MySQL,然后开放一个查询的接口可以直接查到这个IP才对。
扯远了,然后我是Windows系统嘛,就不能直接用这个脚本(除非用msys2),用msys2的话有点太慢了,最好还是使用bat批处理,在不断百度的帮助下,凑合出一个能用的脚本:
@echo off
for /F %%i in ('curl 6.ipw.cn') do ( set ipv6=%%i)
set kv=ipv6=%ipv6%
curl http://xxx.xxx.xxx.xxx/ -X POST -d %kv%
然后把这个批处理脚本放到开机启动项里面,开机就会自动发送ipv6地址给我的云服务器,但是又有问题,因为我可能会一直开着机,但是我不确定它是否会在我开机的时候更新IP(应该不会吧),所以应该有一个定时任务去做这个操作,每天0点刷一次IP。
最新文章
- CustomUI Direct3D9_Sample
- JQuery 学习笔记(01)
- CSS规范之BFC &; IFC
- 字符串p型编码
- Careercup - Microsoft面试题 - 6337018766295040
- Java 关于中文乱码处理的经验总结【转载】
- 【C语言】02-基本数据类型
- Android 之夜间模式(多主题)的实现
- K - Transformation-hdu 4578(多操作混合区间更新)线段树
- Oracle record 解锁
- 苹果“抄袭”雷军PPT?小米高管如此评论
- RNAseq测序reads定位
- IEEE754浮点数的表示方法
- Win10 GodMode
- zabbix agent安装(三)
- MCS-51 单片机的中断系统
- [dig]使用dig查看当前网络连通情况
- MyEclipse2018.9.0设置全局编码
- DS01--抽象数据类型
- MySQL 自动添加DateTime