sed小技巧
根据某个关键字替换指定范围内的字符源文件:
123line 1line 2line 3
替换命令:
1sed '/line 2/{n;s/.*/new line/;}' example.txt
结果:
123line 1line 2new line
原理:
/line 2/ 是一个地址,它指定了匹配模式。在这个例子中,line 2 是要匹配的模式。
{} 中的内容是操作的范围。n 命令用于读取下一行,s/.*/new line/ 命令用于将下一行替换为 new line
用途:可以通过这个替换json文件中的key。源文件如下:
1234567891011[ { "username":"test1", "passwd":"" }, { "username":"test2", "passw ...
azure postgre 关闭进程
12345678-- 查找要终止的进程的PIDSELECT pg_terminate_backend(pid)FROM pg_stat_activityWHERE pid <> pg_backend_pid() AND state = 'active';--这将终止进程ID为 27545 的后台进程SELECT pg_terminate_backend(27545);
服务器迁移
背景个人的阿里云服务器是五六年前做的 centos 7 的系统。无论是基于安全性考虑还是实用性考虑,作为个人服务器这个系统都过于老旧了。前几天尝试安装 python 库的时候发现 python 版本太低了。想升级 python 发现 centos7 默认 repo 的 python 包更新不了。再加上多年使用安装过不少无用软件以及各类缓存占用了不少磁盘。所以忍痛决定升级一下操作系统。因为工作机的系统是 ubuntu 22.04,感觉对需要的软件支持都不错。所以这次从红帽系换到 debian 系了,也算是全新尝试。好在之前把大多数服务都改成 docker 部署了,所以痛感不是很强。以下为大体操作记录。
备份因为使用的是阿里云的服务器。所以第一步就是通过快照功能备份了整块云盘。
之后为了方便使用,我备份了以下路径。文件|说明-|-/root/.ssh |root用户的ssh信息/home//.ssh |普通用户的ssh信息/data/_docker |各docker容器的挂载文件/data/docker-compose |所有docker-compose文件/server/* |各种 ...
nginx迁移至caddy
背景说明之前一直使用 nginx 1.12.1,这个版本来自于入行的第一家公司,因为当时用了一些软WAF规则,所以选择了这版nginx一直没升级。后来因为request body size的问题,我一度想更换掉nginx。但是因为只有nginx用的最熟,所以还是更新了版本,没有换别的软件。然后2024年开始,阿里云的免费证书时间从一年变成三个月后,连续两次证书过期,让我坚定了更换caddy的决心。期间也看过类似certbot的功能,但是我古老的centos7系统竟然不能安装最新版certbot,变形导致了我更新整个操作系统。所以在新操作系统安装之后,我直接把nginx换成了caddy。
特性介绍caddy是个比较年轻的代理服务器,他的功能和拓展性在现在这个时间节点应该是不如nginx的,但是他有如下几个特性支持我使用它:
可以自动申请https证书
基本功能的配置简单我基本算是熟练使用nginx了,但是对于个人服务器是使用nginx还是有些难受,因为他太麻烦了。caddy完美解决了我的痛点。至于性能反而是我不需要在意的,对于个人站点来说很难达到任何一种代理服务器的性能上限。
...
aks添加nodepool
1234567891011az aks nodepool add \ --resource-group xxx \ --cluster-name xxx \ --name xxx \ --node-count 1 \ --min-count 1 \ --max-count 25 \ --node-vm-size standard_e20as_v4 \ --vnet-subnet-id "/subscriptions/xxxx/resourceGroups/DEV_AKS/providers/Microsoft.Network/virtualNetworks/vnet-aks-applications/subnets/xxxx" \ --node-taints usedto=nnx:NoSchedule \ --enable-cluster-autoscaler