- 博客(62)
- 资源 (11)
- 问答 (2)
- 收藏
- 关注
原创 shell脚本定时备份mysql和mongodb数据至另一个机器
#!/bin/bashecho "start backup mysql..."tmp_path="/tmp/"file_path="/home/mixislink/data_backup/mysql/"file_name_base="mysql_"file_name="${file_name_base}$(date +%Y%m%d_%H%M%S)"# 备份mysql的数据至106,并删除大于60天的数据mkdir -p ${file_path}docker exec mysql8 mysq.
2022-03-03 18:11:25
627
原创 nacos动态更新配置RefreshScope注解后取值为null
首先排除版本问题。如果在controller类上面直接加@RefreshScope注解,会导致name值为null,count值也为null。@Slf4j@RestController@RequestMapping("api")@RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)public class HelloController { private AtomicInteger count = new AtomicInteger(
2021-12-14 14:42:53
2392
2
原创 docker空间不足 failed to register layer: devmapper: Thin Pool has 77644 free data blocks wh
docker info 发现总共107G只剩5G可用,docker线程要求最小10G才可以启动,这是错误根本原因。为什么会这样?当一个容器的数据空间大于10GB后,那么这个容器将不能写入新的数据文件。如果容器需要很大的数据空间,可以使用数据卷挂在到宿主机或存储上。当容器太多使用数据卷挂载方式后,所有容器使用的数据空间已经大于100GB,这时将不能新建或运行容器。这篇文章给出了解答:https://github.com/docker/docker/tree/master/daemon/graphd
2021-12-09 15:43:18
2184
原创 sql更新某条数据字段为1,其他数据变为0
应用场景:表中永远只能有一条数据值为1,例如只能设置一条商品推荐(值为1),将另一条商品数据设置为推荐后,之前设置的推荐商品变为不推荐(值为0)。<update id="updateRecommend"> UPDATE t_db_report SET highly_recom = (id = #{id})</update>highly_recom为数据库自定义自定,#{id}为动态传入id。...
2021-11-02 18:27:12
2282
原创 免费的两种https证书申请和安装
第一种:网站申请方式免费证书申请网站:https://freessl.cn/这个也可以使用其他网站提供的免费证书。先要注册一个账号。下载KeyManager:https://keymanager.org/ 启动运行KeyManager并登陆 点击左边栏的证书申请 输入要制作证书的域名:品牌选择:Let’s EncryptTrusAsia可以免费使用1年,1年换一次,Let‘s Encrypt的只有3个月,但支持通配符,通配符可以用于子域名点击创建:复制txt值..
2021-09-28 09:57:08
4473
原创 linux查看 磁盘 内存 cpu 网络 负载状态
1.命令top 、uptime 、w 检测系统整体的负载、承受能力iostat 、 iotop 查看磁盘IOvmstat、 sar 、iostat、 top 检测CPUfree、vmstat 内存2.磁盘IO分析yum install sysstat 安装iostatiostat -x -k 1 3 #每秒一次共三次主要关注:%util:一秒中I/O操作时间的百分比,即一秒内有多少时间I/O队列是非空的,若接近%100表示I/O请求过多,超负荷,磁盘存在瓶颈aw.
2021-08-24 12:13:31
1602
原创 mybatis踩坑日记-数字类型判断为空问题
mybatis中的if标签判断,如果传的是数字类型0,mybatis会把它转为''空串。<if test="status != null "> and t.status = #{status}</if>这样可以解决问题。但是,如果用@RequestParam Map<String, Object> params来接收前端参数的话,虽然前端像下图这样传,但是,map接收后会自动赋值为""所以,还是会有问题。两个解决办法,一是类型定义.
2021-05-27 11:05:46
1297
原创 shell检测ping以及telnet是否连通,并启动或关闭容器
#! /bin/bash#ret=摄像头在线监测,0为在线,1为不在线。#net=网络监测,0为不通,1为通。#自动检测摄像头是否在线并重连,如果摄像头在线且网络通畅且FFmpeg没启,则启动;如果(摄像头不在线或网络不通)且FFmpeg启了,则关掉。for((i=2;$i<=31;i++))do if (( ($i >= 9 && $i <= 12) || $i == 22 )) then .
2021-05-12 16:05:24
798
原创 h3c 解决从内网用域名无法访问的问题
背景:从外面用域名访问没问题(如果有问题请拨打宽带运营商电话问一下80端口是不是被封了,这个坑我踩过,需要申请才能开),从内网用域名访问就不通。1.查阅了相关资料,主要问题是 回流。H3C F100-A-G3 集防火墙和路由功能,在web管理页面,策略->NAT高级选项->NAT hairpin,打开LAN接口的nat hairpin功能,就可以了。特别提醒:h3c的web管理页面可能会占用80和443端口,需要先将它改为别的端口,如果不小心把web都关掉了。可以用ss..
2021-04-12 15:19:01
3605
原创 nginx配置https http跳转至https
第一步:Nginx的ssl模块安装在配置ssl证书之前,要确保你的nginx已经安装了ssl模块,一般情况下自己安装的nginx都是不存在ssl模块的。这里先检查下自己是否存在ssl模块:进入到你的nginx安装目录下面,我的目录是在(/usr/local/nginx),如果你的nginx安装步骤和上面的文章一致的话,那你的目录和我应该是一致的进入到目录的sbin目录下,输入#注意这里是大写的V,小写的只显示版本号./nginx -V 如果出现 (configure arg
2021-03-15 18:08:31
1074
原创 mybatis plus解决多对多分页总条数不对的问题
由于一对多或者多对多的情况,分页条数出现统计错误。解决办法是加上select标签,先做子查询。例如A B C 三张表,A和C都是主体,B表作为中间表关联AC的多对多关系。下图中t是A表,t2是B表,t1是C表。直接请求queryByMap接口,返回的数据就对了。...
2021-01-22 16:44:52
4871
3
原创 nginx ffmpeg读取摄像头RTSP转为HLS流并定时截图做动态封面
1.拉取一个FFmpeg的docker镜像。docker pull jrottenberg/ffmpeg2.创建一个start-ffmpeg-all.sh启动脚本,因为我有多路摄像头,所以要启动多个容器。#! /bin/bashfor((i=2;$i<=31;i++))do if (( ($i >= 9 && $i <= 12) || $i == 22 )) then echo "1
2021-01-20 10:32:55
965
原创 Jenkins 执行command脚本 提示找不到命令
现象:Jenkins的command里面执行脚本输出找不到命令,手动登录主机可以执行。原因及解决:Jenkins默认情况下执行shell脚本是使用非登录方式,然而非登录方式不会加载 /etc/profile 文件,在 Execute shell 中 添加如#!/bin/bash-l命令修改为登录方式即可解决问题,-l参数很重要。...
2021-01-07 16:33:20
1657
原创 设置ssh登录失败多次封禁该ip(防暴力破解)
1.新建一个secure-ssh.sh设置登录失败5次就永久封禁该ip#! /bin/bashcat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /usr/local/bin/black.listfor i in `cat /usr/local/bin/black.list`do IP=`echo $i |awk -F= '{print $1}'` NU
2020-11-30 18:04:29
2419
1
原创 nginx+ffmpeg,从海康摄像头接rtsp流转成rtmp或hls前端播放
场景是:A机器装FFmpeg连接摄像头,B机器装nginx,A机器将视频流推到B机器,页面程序访问B机器的地址播放视频。1、FFmpeg必须装官网:http://ffmpeg.orgFFmpeg功能强大,主要用来推流拉流,自带的ffplay还可以实现播放。2、nginx必须装nginx需要启用rtmp模块linux:先把rtmp模块clone下来https://github.com/arut/nginx-rtmp-module,编译时加入rtmp模块。./confi...
2020-10-29 18:37:13
3884
1
转载 centOS7 一键安装docker脚本
#!/bin/bash# 移除掉旧的版本sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-selinux \docker-engine-selinux \docker-engine# 删除所有旧的数据sudo rm -rf.
2020-10-15 15:02:00
735
原创 sql:case when then else
case when 语句查询的是单条数据,若要查满足条件下的某个值的和,例如我要查is_check=1时的price的和:应该用SUM(CASE is_check WHEN 1 THEN price END) AS checkPrice而不是CASE is_check WHEN 1 THEN SUM(price) ENDAS checkPriceselect sum(case is_check when 0 then price end) AS noCheckPrice,sum(CA..
2020-07-16 16:35:54
197
原创 springboot动态cron定时任务
实现动态修改cron表达式来更改定时任务的规则,程序不重启,且使用定时任务线程池加快效率。一、配置类@Configuration@EnableAsync@EnableScheduling@Slf4jpublic class SchedulerThreadPoolConfig implements SchedulingConfigurer, AsyncConfigurer { /** * 定时任务使用的线程池 * @return */ @Bean
2020-07-13 17:23:32
1534
转载 Java并发编程:Lock
在上一篇文章中我们讲到了如何使用关键字synchronized来实现同步访问。本文我们继续来探讨这个问题,从Java 5之后,在java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是Lock。 也许有朋友会问,既然都可以通过synchronized来实现同步访问了,那么为什么还需要提供Lock?这个问题将在下面进行阐述。本文先从synchronized的缺陷讲起,然后再讲述java.util.concurrent.locks包下常用的有哪些类和接口,最后讨论
2020-07-10 17:50:54
191
转载 java 获取本机ip地址
获取本机真实ip地址,非127.0.0.1 非169.254链路本地地址。原文地址:https://blog.youkuaiyun.com/yu532164710/article/details/80118118详解说明:https://cloud.tencent.com/developer/article/1610919 public static String getLocalAddress(){ String ip = ""; try { En
2020-07-08 10:54:27
651
1
原创 java 获取CRC 16位校验码
/** * 计算CRC16校验码 * * @param bytes * @return */ public static String getCRC(byte[] bytes) { int CRC = 0x0000ffff; int POLYNOMIAL = 0x0000a001; int i, j; for (i = 0; i < bytes.length; i++)...
2020-07-07 17:42:26
926
原创 modbus slave加 vspd 轻松调试modbus RTU协议程序
最近要用java写个程序跟硬件通信,采集电力等相关信息,协议使用的是modbus RTU,串口通信不走tcp。java串口通信使用的是RXTXcomm.jar包和rxtxParallel.dll、rxtxSerial.dll两个库文件。程序写完后,因为手边没有硬件调试,只能在自己电脑上调试,这时候,就用上了 vspd 这个神器,配合modbus slave使用非常爽。1.下载安装modbus slave,并配置好模拟数据,将它当做要采集的硬件。2.下载安装vspd,打开主界面,点击COM
2020-07-07 17:40:35
1530
1
原创 ssh免密登录不生效的原因总结
生成公钥ssh-keygen -t rsa -P '' (注:最后是二个单引号,表示不设置密码)然后分发公钥到目标机器ssh-copy-id -i ~/.ssh/id_rsa.pub 用户名@对方机器IP如果失败,有可能是以下原因:1、权限问题.ssh目录,以及/home/当前用户 需要700权限,参考以下操作调整sudo chmod 700 ~/.sshs...
2019-12-17 18:31:03
3472
2
原创 Java生成随机数,指定范围,指定小数点位数
import java.math.BigDecimal; public class RandomTest { /** * @param args */ public static void main(String[] args) { float Max = 180, Min = 60; fo...
2019-11-16 11:33:40
5004
1
转载 collection.toArray(new String[0])中new String[0]的作用
new string[0]的作用比如:String[] result = set.toArray(new String[0]);Collection的公有方法中,toArray()是比较重要的一个。但是使用无参数的toArray()有一个缺点,就是转换后的数组类型是Object[]。 虽然Object数组也不是不能用,但当你真的想用一个具体类型的数组,比如String[]时,问题就...
2019-10-23 10:37:06
179
原创 springboot+mybatis+mysql 存储单字段为数组格式的解决方案
1.使用场景需求为:前端传的某个字段为数组类型,但mysql中不支持直接存储数组,只能转为字符串存储,取出时又得转回数组,这样无论是在前端转换还是后端转换都是费时费力的。这样,我们可以利用mybatis的BaseTypeHandler类帮我们完成自动转换。第一步:将对象里的字段改为JSONArray类型。第二步:继承BaseTypeHandler并重写里面的某些方法。...
2019-08-28 13:48:12
8800
2
原创 springboot 利用aop实现系统日志和操作日志记录
1.目的通过aop及注解的方式,记录异常信息和特定的操作日志到数据库。2.引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</arti...
2019-08-16 11:32:05
3015
2
原创 使用powerdesigner 16 从数据库反向生成model
此文针对mysql数据库准备工作:1.需要32位的java环境。2.需要数据连接包 mysql-connector-java-5.1.44-bin.jar。重点:安装好后需要设置环境变量,否则会报Could not Initialize JavaVM! 错误。系统变量不说了,pd变量设置为点击“工具”-->"常规选项"-->"Variable"完整的环境变量如下...
2019-08-08 16:47:55
1626
翻译 docker pull 出错Create more free space in thin pool or use dm.min_free_space option to change behavior
报错信息:failed to register layer: devmapper: Thin Pool has 105881 free data blocks which is less than minimum required 163840 free data blocks. Create more free space in thin pool or use dm.min_free_spac...
2019-08-07 17:42:03
1406
原创 解决linux硬盘inode已满的问题
遍历寻找0字节的文件,并删除。sudo find / -type f -size 0 -exec rm {} \;查看占用。sudo df -ih
2019-07-25 12:00:52
797
原创 学会用linux命令统计日志
程序在部署到测试或正式环境后,往往需要查看日志来帮助发现和解决问题,例如需要在日志中统计接口调用的success和fail的次数,来优化高并发的情况。1.根据日志中的关键字进行统计cat log.txt | grep -o '关键字' | wc -l特别注意:网上有很多文章直接用cat log.txt | grep '关键字' | wc -l 或cat log.txt | gr...
2019-07-19 18:24:56
1217
原创 java 导出Excel
1.介绍导出是用的poi,poi版本3.11,网上用的较多的是poi的HSSF的API,对比了一下发现,HSSF主要针对2007年以前的excel版本,XSSF主要针对2007年及以上版本。官方主页http://poi.apache.org/index.html,API文档http://poi.apache.org/apidocs/index.html2.实现步骤:1.打开或新...
2019-07-18 17:55:02
140
原创 tomcat上传图片后无法立即下载 缓存问题
接手了一个别人的项目,用的ssh框架,有个地方上传图片后需要立马在页面上回显,以为是代码中异步写图片还没写完就把图片路径返回给前端了,查看了代码发现没问题。接着找Tomcat的问题,发现在Tomcat的context.xml配置文件中,将默认的cachingAllowed="true"改为false就可以了。...
2019-07-08 18:04:24
485
2
原创 也许你的ssh正在遭受暴力破解
一次偶然的机会,部署在客户那里的机器上运行的服务都拒绝访问,ssh也登录不了,过了一小段时间后自己恢复了,由于应用都在容器里可以开机自启。所以在排查问题时优先排查了是否是停电问题。查看开关机或重启记录 > last查看最近一次开机时间 >last -1 reboot查看系统从上次开机到现在运行多久了 > uptime发现最近都没有关机过,于是想看看是不是有什么...
2019-04-11 18:39:42
564
原创 Linux动态扩展分区 无数据丢失
前提条件:如上图中的 /root/app容量已经满了,急需扩展,从VMware中多分配了96G空间,需要加到/root/app目录中。开始操作:1. fdisk -l 查看磁盘信息发现总的磁盘大小为210.5G,还有96G未挂载。(图中的马赛克是sda4,因为我是做完了后截的图,正常是没有的。)2. fdisk /dev...
2019-03-20 18:38:43
2430
原创 Java对象复制非空属性
引用org.springframework.beans.BeanUtils类提供的方法copyProperties(Object source, Object target, String... ignoreProperties) 用于对象拷贝,spring 和 Apache都提供了相应的工具类方法,BeanUtils.copyPropertiespackage com.mixislink...
2019-02-25 15:06:15
3766
1
原创 zabbix监控docker-主动模式脚本监控
在网上查找了zabbix监控docker的方法,基本上分为两种方法:一是用国外大神写的zabbix_module_docker.so加模板来进行监控,这种方法只能看到容器id很不爽;二是自己写脚本进行监控,在网上下载了别人的脚本进行监控,发现数据总是断断续续的,隔一段时间会没数据,索性就自己来写一个简单的脚本。我的思路是利用docker stats这个docker自带的命令来查看cpu、内存和网络...
2018-05-25 11:46:59
2842
转载 在RaspberryPi树莓派上使用RXTX(RXTX的源码安装)
在java串口编程连接电能表取数据时,用到了RXTXcomm包,这个包在windows上依赖两个文件rxtxParallel.dll和rxtxSerial.dll,然而将程序移植到树莓派上面时在网上下载了linux各个版本的librxtxSerial.so都用不了,因为不支持树莓派arm架构,所幸在网上看到了下面一篇文章,重新编译后自动在${java}/jre下面生成了一个librxtxSeria...
2018-05-21 15:34:59
3110
4
原创 nginx安装、配置、开机自启
第一章 下载并安装gcc安装 yum install gcc-c++ 安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装。PCRE pcre-devel 安装 yum install -y pcre pcre-devel PCRE(Perl Compatible Regular Expressions) 是一个...
2018-04-02 12:02:42
301
java串口通讯RXTXjar包和dll文件
2020-07-07
数据库连接驱动包和32位的jkd1.7
2019-08-08
zabbix监控docker模板
2018-05-25
微服务之一键部署示例(源码)
2018-03-12
java socketNIO 实现多客户端聊天室 代码
2017-05-25
请教高手!Apache做tomcat集群不能复制session
2017-03-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人