如果经常做一些docker操作的测试,例如下载image镜像、导入、导出后删除、频繁的生成容器后删除等,发现很快磁盘空间减少了很多。 清理contaner容器 # 找到状态是exited或者dead的容器 docker ps --filter status=exited --filter status=dead -q # 列出exited或者dead的容器后直接删除 docker rm $(docker ps --filter=status=exited --filter=status=dead -q) # 或者直…

2022-06-14 0条评论 291点热度 0人点赞 admin 阅读全文

有时候Linux下运行的程序并不一定是一个服务,但是我们希望能监测它的运行状态,例如是否进程还在运行,如果没有运行,发出警报,或者自动启动,进而能保持程序的持续运行。 我们可以想办法写一个脚本来监测,然后可以做到定时任务(crontab)里去,例如每个1分钟监测一次。 以下是脚本内容,可以将替换成再次启动程序或你的逻辑。 #!/bin/bash # pgrep -f "vdcserver" 不能这样使用,不然就监测到本身也是一个符合的进程,导致误判 if pgrep -x "vdcserver" > /dev…

2022-06-12 0条评论 94点热度 0人点赞 admin 阅读全文

最近在使用Docker下的MySQL的时候,遇到一个问题,就是发现它的时区不对(因为之前都是习惯了+800的),在做一个SQL查询的时候,发现时区并不是东八区(CST即China Standard Time),例如: select * from t_test where create_date>now() 本来类似这样的记录是能查出来的,但是现在却没有,进一步调试,发现出来的时间比北京时间少了8个小时。 如何在Docker下安装MySQL的文章,请查看:https://blog.terrynow.com/20…

2022-06-07 0条评论 98点热度 0人点赞 admin 阅读全文

Linux下可以使用nslookup做一些域名相关的查询,不过在有些最小化安装的Linux版本中,执行nslookup会提示『未找到命令』或『command not found』 [[email protected] ~]# nslookup -bash: nslookup: 未找到命令 -bash: nslookup: command not found 是因为缺少依赖包bind-utils,可以使用如下命令安装 # CentOS等系统,使用yum install方式安装 yum install bind-utils …

2022-06-03 0条评论 102点热度 0人点赞 admin 阅读全文

Alibaba的Sentinel运行的时候,例如,sentinel的下载地址:https://github.com/alibaba/Sentinel/releases (默认启动tomcat端口号8080)是不带context-path的,就是访问的时候是http://127.0.0.1:8080,但是有些场景下,是需要使用context-path的(例如对外端口不够用的情况等等),需要让它启动在context-path下,例如:http://127.0.0.1:8080/sentinel 以下是自定义运行sent…

2022-06-01 0条评论 161点热度 0人点赞 admin 阅读全文

Linux环境Shell下需要检查某个URL返回的状态代码,例如200,说明正常,否则说明异常,需要发送提醒、重新启动等等操作 简单的脚本举例如下(以返回代码是200正常,否则重启某个服务): status_code=$(curl --write-out %{http_code} --silent --output /dev/null http://127.0.0.1:8182/some_status) if [[ "$status_code" -ne 200 ]] ; then echo "program not…

2022-05-30 0条评论 101点热度 0人点赞 admin 阅读全文

Linux下查看进程状态可以使用ps命令,例如,可以看到PID或者CPU、内存使用率等。 如果想要找到特定的程序的进程,那么可以配合使用grep查找出特定的进程PID,因为在执行shell脚本的时候,本身自己也是一个进程,如果用grep很有可能把自己也列出来,所以需要如下方式: (把name换成具体的关键词,使用grep -v grep把自己排除掉) ps -ef | grep "name" | grep -v grep | awk '{print $2}' 这个例子就是赋值给PID变量: PID=$(ps -ef…

2022-05-25 0条评论 117点热度 0人点赞 admin 阅读全文

Docker里面的容器暴露出来的端口默认是可以让外部随意访问的,Linux下(CentOS7以上)如果是firewalld防火墙,就算开着,并设置了黑白名单也是无效 那是因为Docker启动容器会默认使用iptables防火墙设置容器暴露出来,并全部允许访问,本省firewalld也是底层调用的iptables。 如果想要控制特定的端口给特定的IP访问,可以这样做(我亲测有效,每次添加新的自定义规则,都要1-3步骤都跑一次,需要添加的规则放在第二步的中间加注释的地方): 第一步 准备工作(包括清理规则、建立DOCK…

2022-05-24 0条评论 309点热度 0人点赞 admin 阅读全文

使用Java运行jar文件,可能需要带参数,而且参数里面是带有特殊字符的(例如[email protected]#$=等),例如: java -jar -Dproperty=value /path/to/jarfile.jar 其中的value里面有特殊字符(例如可能是密码),就可能无法顺利运行了 可以尝试使用\来做转义,例如 java -jar -Dpassword=abc\&123 /path/to/jarfile.jar 其中password是abc&123,&用\&做了转义,但是也尝试,如果特殊字符是感叹…

2022-05-23 0条评论 246点热度 0人点赞 admin 阅读全文

之前的文章介绍了因为Oracle的JDK11的收费问题,在Linux下安装免费的OpenJDK:https://blog.terrynow.com/2022/04/05/linux-install-free-open-jdk/ WindowsServer下安装OpenJDK11 下载网站:http://jdk.java.net/archive/,我下载的是11.0.2 (build 11.0.2+9) 的zip包(windows版本的没有提供exe安装程序,是压缩包) 把压缩包解压到自己知道的一个目录,我这里以C:…

2022-05-22 0条评论 117点热度 0人点赞 admin 阅读全文
1234521