【SHELL】记一个没啥用的脚本
因为最近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】记一个没啥用的脚本的更多相关文章
- shell编写一个批量添加用户脚本
shell编写一个批量添加用户脚本 5.1问题 本例要求在虚拟机server0上创建/roo ...
- shell编写一个判断脚本
shell编写一个判断脚本 4.1问题 本例要求在虚拟机server0上创建/roo ...
- Shell:如何写一个多选菜单的脚本
Blog:博客园 个人 翻译自How to Create a Multiple Choice Menu in Bash Scripts 目录 多选菜单脚本介绍 配置输入提示 创建预定选项列表 创建预选 ...
- centos shell编程6一些工作中实践脚本 nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志 直接送给bc做计算 gzip innobackupex/Xtrabackup 第四十节课
centos shell编程6一些工作中实践脚本 nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志 直接送给bc做计算 gzip innobacku ...
- 一个很不错的bash脚本编写教程
转自 http://blog.chinaunix.net/uid-20328094-id-95121.html 一个很不错的bash脚本编写教程,至少没接触过BASH的也能看懂! 建立一个脚本 Lin ...
- 记一个社交APP的开发过程——基础架构选型(转自一位大哥)
记一个社交APP的开发过程——基础架构选型 目录[-] 基本产品形态 技术选型 最近两周在忙于开发一个社交App,因为之前做过一点儿社交方面的东西,就被拉去做API后端了,一个人头一次完整的去搭这么一 ...
- 使用shell程序备份crontab中的.sh脚本文件
需求 线上环境有一些定时脚本(用crontab -l可查看当前用户的),有时我们可能会改这些定时任务的脚本内容.为避免改错无后悔药,需用shell实现一个程序,定时备份crontab中的.sh脚本文件 ...
- 分享一个php的启动关闭脚本(原)
自己简单写的一个php服务的启动脚本和大家分享 思路(实现的原理): 1:function模块+case语句多分支判断 2:通过添加# chkconfig: 2345 43 89注释实现开机自启动(前 ...
- 使用Notepad++开发C#,一个复杂点的csscript脚本
使用Notepad++开发C#,一个复杂点的csscript脚本: //css_dir ..\..\lib; //css_ref Geb.Image.dll; //css_ref Geb.Image. ...
- MSSQL-Scripter,一个新的生成T-SQL脚本的SQL Server命令行工具
这里向大家介绍一个新的生成T-SQL脚本的SQL Server命令行工具:mssql-scripter.它支持在SQL Server.Azure SQL DB以及Azure SQL DW中为数据库生成 ...
随机推荐
- js替换字符中指定所有字符
//js \n全部替换<br/> function tranceBr(str) { return str.replace(/\n/g, '<br/>'); }
- 基于C++的OpenGL 13 之Mesh
1. 引言 本文基于C++语言,描述OpenGL的Mesh 前置知识可参考: 基于C++的OpenGL 12 之多光源 - 当时明月在曾照彩云归 - 博客园 (cnblogs.com) 笔者这里不过多 ...
- ABP微服务系列学习-搭建自己的微服务结构(四)
上篇我们实现了认证服务和网关服务,基本我们的基础服务已经完成了,接下来我们才需要做服务的数据迁移.这里我们需要使用EF的CodeFirst模式.通过DotnetCli的命令去操作: dotnet ef ...
- Angular ngx-translate 国际化实践(中文转英文)
1.安装包 npm install @ngx-translate/core --save npm install @ngx-translate/http-loader --save 2.根模块app. ...
- python编写程序练习-车牌摇号程序
import random import string count = 0 #设定计数器 car_numbers = [] # 创建一个列表,用来接收生产的车牌号池 while coun ...
- sqlserver生成指定的序列
WITH numbers AS ( SELECT 1 AS num UNION ALL SELECT num + 1 FROM numbers WHERE num < 30 ) SELECT C ...
- oculus 安装其他盘方法
把安装文件OculusSetup.exe安装到D盘(默认直接按C盘) D:\softbackup\OculusSetup.exe /drive=D
- 若依-更换数据库-sqlite
基础 我是在ruoyi-vue已经安装了mybatis-plus的基础上进行的修改 关于SQLite SQLite 是一个软件库,实现了自给自足的.无服务器的.零配置的.事务性的 SQL 数据库引擎. ...
- spring 特性
1.Aware系列接口 spring 6.0提供了一系列的Aware接口,方便我们在Bean加载时获取信息 如 @Service public class study implements BeanN ...
- Linux CAN (CAN_J1939)框架及调用流程
module_init(j1939_module_init);内核编译CAN_J1939模块 在函数j1939_module_init(void)中 ret = register_netdevice_ ...