因为最近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。

【SHELL】记一个没啥用的脚本的更多相关文章

  1. shell编写一个批量添加用户脚本

                                                          shell编写一个批量添加用户脚本 5.1问题 本例要求在虚拟机server0上创建/roo ...

  2. shell编写一个判断脚本

                                                              shell编写一个判断脚本 4.1问题 本例要求在虚拟机server0上创建/roo ...

  3. Shell:如何写一个多选菜单的脚本

    Blog:博客园 个人 翻译自How to Create a Multiple Choice Menu in Bash Scripts 目录 多选菜单脚本介绍 配置输入提示 创建预定选项列表 创建预选 ...

  4. centos shell编程6一些工作中实践脚本 nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志 直接送给bc做计算 gzip innobackupex/Xtrabackup 第四十节课

    centos   shell编程6一些工作中实践脚本   nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志  直接送给bc做计算  gzip  innobacku ...

  5. 一个很不错的bash脚本编写教程

    转自 http://blog.chinaunix.net/uid-20328094-id-95121.html 一个很不错的bash脚本编写教程,至少没接触过BASH的也能看懂! 建立一个脚本 Lin ...

  6. 记一个社交APP的开发过程——基础架构选型(转自一位大哥)

    记一个社交APP的开发过程——基础架构选型 目录[-] 基本产品形态 技术选型 最近两周在忙于开发一个社交App,因为之前做过一点儿社交方面的东西,就被拉去做API后端了,一个人头一次完整的去搭这么一 ...

  7. 使用shell程序备份crontab中的.sh脚本文件

    需求 线上环境有一些定时脚本(用crontab -l可查看当前用户的),有时我们可能会改这些定时任务的脚本内容.为避免改错无后悔药,需用shell实现一个程序,定时备份crontab中的.sh脚本文件 ...

  8. 分享一个php的启动关闭脚本(原)

    自己简单写的一个php服务的启动脚本和大家分享 思路(实现的原理): 1:function模块+case语句多分支判断 2:通过添加# chkconfig: 2345 43 89注释实现开机自启动(前 ...

  9. 使用Notepad++开发C#,一个复杂点的csscript脚本

    使用Notepad++开发C#,一个复杂点的csscript脚本: //css_dir ..\..\lib; //css_ref Geb.Image.dll; //css_ref Geb.Image. ...

  10. MSSQL-Scripter,一个新的生成T-SQL脚本的SQL Server命令行工具

    这里向大家介绍一个新的生成T-SQL脚本的SQL Server命令行工具:mssql-scripter.它支持在SQL Server.Azure SQL DB以及Azure SQL DW中为数据库生成 ...

随机推荐

  1. js替换字符中指定所有字符

    //js \n全部替换<br/> function tranceBr(str) { return str.replace(/\n/g, '<br/>'); }

  2. 基于C++的OpenGL 13 之Mesh

    1. 引言 本文基于C++语言,描述OpenGL的Mesh 前置知识可参考: 基于C++的OpenGL 12 之多光源 - 当时明月在曾照彩云归 - 博客园 (cnblogs.com) 笔者这里不过多 ...

  3. ABP微服务系列学习-搭建自己的微服务结构(四)

    上篇我们实现了认证服务和网关服务,基本我们的基础服务已经完成了,接下来我们才需要做服务的数据迁移.这里我们需要使用EF的CodeFirst模式.通过DotnetCli的命令去操作: dotnet ef ...

  4. Angular ngx-translate 国际化实践(中文转英文)

    1.安装包 npm install @ngx-translate/core --save npm install @ngx-translate/http-loader --save 2.根模块app. ...

  5. python编写程序练习-车牌摇号程序

    import random import string count = 0      #设定计数器 car_numbers = []   # 创建一个列表,用来接收生产的车牌号池 while coun ...

  6. sqlserver生成指定的序列

    WITH numbers AS ( SELECT 1 AS num UNION ALL SELECT num + 1 FROM numbers WHERE num < 30 ) SELECT C ...

  7. oculus 安装其他盘方法

    把安装文件OculusSetup.exe安装到D盘(默认直接按C盘) D:\softbackup\OculusSetup.exe /drive=D

  8. 若依-更换数据库-sqlite

    基础 我是在ruoyi-vue已经安装了mybatis-plus的基础上进行的修改 关于SQLite SQLite 是一个软件库,实现了自给自足的.无服务器的.零配置的.事务性的 SQL 数据库引擎. ...

  9. spring 特性

    1.Aware系列接口 spring 6.0提供了一系列的Aware接口,方便我们在Bean加载时获取信息 如 @Service public class study implements BeanN ...

  10. Linux CAN (CAN_J1939)框架及调用流程

    module_init(j1939_module_init);内核编译CAN_J1939模块 在函数j1939_module_init(void)中 ret = register_netdevice_ ...