- 博客(36)
- 资源 (1)
- 收藏
- 关注
原创 开发日常命令
sed 查找查找时间开始的行sed -n '/^2022-04-18 23:40:05/p' HTTP.IDCSyncDataToYG_20220418.log查找user并替换sed -i "s/\"user\"\: \"root\"/\"user\"\: \"root\"/g" $1"/"$file 混合编译 生成 linux的go运行包 CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o PowerCapacityNew/PowerCa
2022-04-28 12:15:31 271
原创 go远程调试dlv+goland
go远程调试dlv+golandwindows10 go开发, 无法进行cgo调试, 像kafka-go 这种就无法跑起来, 用远程调试就能解决问题了1. 远程机器设置1.1 安装dlv$ go install github.com/go-delve/delve/cmd/dlv@latest $ dlv versionDelve DebuggerVersion: 1.8.2Build: $Id: dbb493ec14d1e7753504d016b1e1ef1665b75b16 $1.2
2022-04-11 17:47:23 959
原创 cat 关于grep的几个 使用
2021-12-19 00:00:03|tool.go:93|INFO| xxxxxxxxx costTime:24.336236ms2021-12-19 00:00:03|tool.go:93|INFO| xx11xxxxxxx costTime:214.336236ms2021-12-19 00:00:03|tool.go:93|INFO| xxx22xxxxxx costTime:224.336236ms2021-12-19 00:00:03|tool.go:93|INFO| xxx444xxx
2021-12-29 18:21:46 2994
原创 Golang 的mysql 事务优雅的实现
思路是先封装一个事务函数,内置回调方法1 封装好的事务函数func Transaction(f func(session *xorm.Session) error) error { var err error session := engine().NewSession() if err = session.Begin(); err != nil { log.Error("session begin failed, err msg: %s", err.Error()) return fm
2021-11-04 17:24:20 765
原创 简单docker-golang运行环境,alpine 3.10系统
dockerfileFROM alpine:3.10ENV LANG C.UTF-8RUN apk add --update musl-dev && \ mkdir /lib64 && ln -s /lib/libc.musl-x86_64.so.1 /lib64/ld-linux-x86-64.so.2 && \ apk add busybox-extras curl vim && \ apk add tzd
2021-07-02 21:49:16 479 2
原创 golang []map[string][string] , 先按大小,再按键名排序
type IpSortItem struct { Value int `json:"value"` Name string `json:"name"`}// 先按数量排序,再按名称排序func sortIPView(rspData []map[string]string) []*IpSortItem { var totalList []int dataList := make(map[int][]string) for _, value := range rspData {..
2021-06-10 10:41:48 1019
原创 k8s的apache镜像和vhost.conf的ConfigMap动态配置
1 说明由于需要部署多个项目,希望能用同一个镜像和不同vhost.conf ,vhost.conf 用ConfigMap 进行配置, 然后再用volumeMounts 挂载的方式 将vhost.conf 生成在apache的conf 目录下2. vhost.conf 的ConfigMap 配置vi phpipam.ConfigMap.yamlapiVersion: v1kind: ConfigMapmetadata: namespace: yzdxxx name: phpipam-c
2021-06-03 20:19:05 421
原创 alpine-php镜像
原先是实现nginx+fpm+php的docker镜像 发现 这样不好,因为要保持 nignx 、fpm 两个进程都要存活, 任何一个都不能挂,这样的话,还需要写个监控进程工具,以保证nignx、fpm 都正常。所以呢, 还简单搞个apache+php, 只要apache不挂就可以一、 Dockerfile# This alpline+apache+php Dockerfile# Version 1.0# Base images 基础镜像FROM alpine:3.10#MAINT
2021-06-03 19:12:43 534
原创 golang, multipart/form-data 的参数请求bug
1.1 请求不到POST参数的值 supplierName := r.Request.PostFormValue("supplierName") file, fileHeader, err := r.Request.FormFile("file") fmt.Println("supplierName:", supplierName) // 这里打印的值为空 1.2 能获取的值,file与postform顺序变一下 file, fileHeader, err := r.Request
2021-05-07 22:18:54 1938
原创 golang ipv4/6 与长整型 bigint的 转换实现
golang ipv4/6 与长整型 bigint的 转换实现import ( "encoding/hex" "errors" "fmt" "math/big" "net" "regexp" "strconv" "strings")// 0: invalid ip// 4: IPv4// 6: IPv6// 检查IP 用于 net.ParseIP(ipv4)func ParseIP(s string) (net.IP, int) { ip := net.ParseIP(
2021-04-26 20:00:53 1052
原创 golang 文件的复制与下载
ioutil.ReadAll 也能实现文件写入,小文件还可以,大文件就内存不足了这次我们使用 io.copy方法,它就是在文件指针之间直接复制的,不用全读入内存。1.1 复制文件的功能实现先说方法的实现,其实还是很简单的/** * 复制文件 * 同样适用于文件下载 如 CopyFile(http.ResponseWriter,/root/test.txt) */func CopyFile(writer io.Writer, filePath string) error { srcFil
2021-03-30 21:01:14 375
原创 golang 对象继承与指针使用
需求背景:读取people 表数据,再转成Engineer对象,并添加Engineer属性一、对象与继承的声明1.1 定义一个简单的对象 People, 包括性别、年龄、身高type People struct { Gender string Age int Height int}peopleList := make([]*People, 0)total, err := cdb.DB().Table(condition).Limit(limit, offset).Desc("
2021-03-30 20:46:10 277
原创 tars平台批量部署服务脚本
官方接口文档https://tarscloud.github.io/TarsDocs/dev/tars-web-api.html#deploy-server由于工作原因,上不同的平台, 需要部署很多微服务,如果一个一个服务部署就很消耗体力,于是便写了一个脚本,批量部署#!/bin/bash#CGI 节点数量CGINodeNum=1#tars服务节点数量TarsNodeNum=2#base服务节点数量,设置是0,则自动部署到tars服务节点BaseNodeNum=1# 设置 ta
2021-01-22 16:16:20 292
原创 批量修改目录下文件内容信息 (sed)
批量修改文件内容#! /bin/bashfunction read_dir(){for file in `ls $1` do if [ -d $1"/"$file ] ;then read_dir $1"/"$file elif [ "mysqlconfig.json" == ${file} ] ; then pathInfo=(${1//\// }) if [ "conf_dev" == ${pathInfo[-1]} ] ;then echo $1"/"
2021-01-08 14:27:11 583
原创 Centos7三台机器安装 k8s
1.机器配置硬件说明CPU2核+内存2G +硬盘10G+系统CentOS Linux release 7.9.2009 (Core)安装k8s,cpu不能少于2核,内存不能少于2G, 否则安装时说提示出错,无法安装。2.软件安装 (每台都执行一次)2.1 修改Hostsvi /etc/hosts192.168.56.101 master01192.168.56.102 node1192.168.56.103 node2修改Hostnam
2020-12-23 14:18:30 1050 1
原创 用shell脚本监控进程是否存在
checkPort=21306pid=`ps -ef |grep socat |awk '{print $9}' |grep $checkPort`if [ "$pid" == "" ];then socat TCP-LISTEN:21306,fork TCP:192.16.10.115:3306 & echo "socat $checkPort 服务重新拉起"else echo "socat $checkPort 端口正常"fi...
2020-11-26 15:04:26 149
原创 golang对象变量与继承的用法
一、对象与继承的声明1.1 定义一个简单的对象 People, 包括性别、年龄、身高type People struct { Gender string Age int Height int}1.2 基于people对象,再定义 Student、Engineer 对象Student 对象继承people, 有自己的属性 “course”Engineer 对象继承people, 有自己的属性 “Job、Experience”type Student struct { People
2020-09-28 16:40:23 630
原创 ip地址及子网掩码换算
一、IP 地址是由四个0-255的数字组成,即0.0.0.0 (32个0) 到255.255.255.255 (32个1)数字0,1表示0.0.0.0 => 00000000.00000000.00000000.00000000255.255.255.255 =>11111111.11111111.11111111.11111111二、子网掩码例子一从前有一个地主,有256间房子,地主家的门牌号码是“192.168.1”,那么他家第一间房子的门牌号码是192.168.1
2020-06-04 21:21:05 9171 2
原创 数据库之流量监控
开启db实例的操作日志 (查询是否有操作记录)方法一: 生成日志文件1、 登陆DB开启生成日志文件功能2、 登陆DB机器,下载日志文件3、 写脚本进行分析访问情况方法二: 写入general_log表中1、 登陆DB开户日志记录写入table表中set global log_output='table'set global general_log=on;2、没有依赖,但会生成大量数据,建议短时间跑3、登陆mysql库,查看general_log表数据相关命令行show variab
2020-05-27 15:34:02 1581
原创 ssh 登录 ssh_exchange_identification: read: Connection reset by peer.
Host webA HostName 10.10.2.100 Port 36000 User root LocalForward 36000 127.0.0.1:36000这样转发是没有问题的,但想将 改成另外一个ip ( 10.10.2.101),就会出现“ssh_exchange_identification: read: Connection reset by peer”, ...
2020-03-29 02:09:22 874
原创 常用系统密码修改
宝塔系统登陆后台,有用户修改功能,点击修改就可以linux 密码登陆服务器后,输入命令“passwd” , 系统会提示 输入 两次密码,每次输入新密码即可mysql 密码修改登陆mysql 后, 输入以下命令即可set password for root@localhost = password(‘newPasswd’);...
2020-03-01 19:55:27 419
原创 iptable 端口转发
端口转发iptables -t nat -I PREROUTING -i eth1 -p tcp --dport 13306 -j DNAT --to 1921.65.123.123:3418查看当前端口iptables -t nat -nvL | grep 13306
2020-01-10 12:10:04 193
原创 PHP-mcrypt 安装相关细节记录
其实最直接的yum 安装,简单了解,但很多情况,yum 用不了, 那你只能编译安装。编译其实也挺简单,不指定路径,直接configure ,make就可以,但你要删除就麻烦,本次安装就安装路径就稍微复杂些需要的安装四个软件包 libmcrypt-2.5.8.tar.gz、mhash-0.9.9.9.tar.gz、mcrypt-2.6.8.tar.gz、php-7.0.5.tar.gz一、安装...
2019-12-06 10:56:42 245
原创 tars-php 改造 invoke 支持多个tcp请求
现在“微服务”越来越少流行, 公司内部很多接口原来是CGI, 或者直接读DB,都改成用微服务接口,不用CGI接口,其实挻好的,不好暴露接口到公网,网络延时也少,不需要做鉴权,直接调用微服务接口就可以。但不能读DB,也调用接口,就稍微有些不便。打个比方有一张表,里面有3万条的数据,我要取ID和名字,两个字段,“ select id,name from table ”就可以 了,但接口...
2019-12-02 14:53:42 328
原创 轻松模式之tars框架的docker安装
折腾了两三天,终于将tars运维部署这一块搞掂了!其实用docker来安装真的非常简单, 全部搞掂就几分钟的事!简单来说,第一装mysql, 第二装tars(master) 第三步骤装 tars-node (slave)环境需要两台机器 (挂了一台,还有另外一台能跑啊)现在开始:安装数据库现在一般都不用mysql了, 我们用mariadb吧, (mariadb是mysql的替身)搜...
2019-11-14 13:36:21 1156
原创 Linux下编译安装tars安装之二、节点扩容
1、 Linux下安装tars安装之一、Tars框架和Web页面具体看 Tars框架和Web页面安装2、节点安装主节点IP (master) A 192.168.10.100从节点IP (slave) B 192.168.10.1022.1 tarsnode安装核心基础服务的安装成功后,如果需要在其他机器也能部署基于tars框架的服务,那么在通过管理平台扩容和部署服务前...
2019-11-13 17:01:59 613
原创 linux机器 查看端口的占用情况
使用 ss 查看ss 一般用于转储套接字统计信息。它还可以显示所有类型的套接字统计信息,包括 PACKET、TCP、UDP、DCCP、RAW、Unix 域等。 (docker容器一般能用)查看 3000端口是否占用ss -lntpd | grep :3000tcp LISTEN 0 128 :::3000 :::* ...
2019-11-13 12:12:19 486
原创 Linux下 tars-web编译安装
我感觉我太难了,花了一天时间来安装, 不过总算解决了1. mysql(MariaDB)安装见上一遍文章 MYSQL安装2. Tars C++开发环境(源码安装框架必备) (这是官方说明)源码安装框架才需要做这一步, 如果只是用c++写服务, 只需要下载tarscpp代码即可下载TarsFramework源码cd /data/git clone https://github.co...
2019-11-12 21:10:00 1241 1
原创 Linux下编译安装MariaDB-10.4.10
#安装下载与说明首先需要到去MariaDB官网下载安装包,首页是:https://downloads.mariadb.org/wget https://downloads.mariadb.org/interstitial/mariadb-10.4.10/source/mariadb-10.4.10.tar.gz/from/http%3A//ftp.yz.yamagata-u.ac.jp/pu...
2019-11-12 15:17:32 1342
原创 MongoDB 每天自动同步,自动清理过期脚本
为了方便数据备份,特意做了个备份脚本,哪天DB有问题可以马上恢复脚本内容如下:#!/bin/sh# 每天从正式环境同步# 恢复命令:mongorestore --host 255.255.11.99 --port 6004 --username username--password "passwordstring" --authenticationDatabase=admin --gz...
2019-11-06 10:35:36 470
原创 二手车之家关注新车上架
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
2019-09-10 20:06:52 251
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人