随笔

内存使用过高,清理

手工释放linux内存——/proc/sys/vm/drop_cache

 free -m

sync

echo 3 > /proc/sys/vm/drop_caches

 

netstat -tnlp /*netstat命令用来打印Linux中网络系统的状态信息*/
查看连接某服务端口最多的的IP地址:
netstat -ntu | grep :443 | awk '{print $5}' | cut -d: -f1 | awk '{++ip[$1]} END {for(i in ip) print ip[i],"\t",i}' | sort -nr

 

/*时间同步*/

ntpdate cn.ntp.org.cn
date
hwclock -w /*-w : 将软件时间写入到硬件时间; -r : 读取硬件时间。 */
hwclock -s /*将CMOS时间设置为系统时间 */

 

find / -type f -size +800M

find / -mtime +300 -name '*.log'  查看300天之前的日志文件

 

 

查找800以上的文件

ps -ef|grep java

 

crontab -l

30 23 * * * /bin/bash /users/yozo/dcsServer/bin/shutdown.sh
35 23 * * * /bin/bash /users/yozo/dcsServer/bin/startup.sh
40 23 * * * echo "Good night." >> /users/yozo/dcsServer/logs/test.log

 

服务的监视状态

#tomcat进程ID /users/yozo/apache-tomcat-8.5.57
TomcatID=$(ps -ef |grep tomcat |grep -w 'dcsServer'|grep -v 'grep'|awk '{print $2}')
#TomcatID=$(ps aux |grep tomcat |grep -v grep |grep -v retomcat | awk '{print $2}')
# tomcat启动程序(这里注意tomcat实际安装的路径)
StartTomcat=/服务地址/bin/startup.sh
# 定义要监控的页面地址
WebUrl=http://127.0.0.1:9080/dcs.web/queryInfo
# 日志输出
TomcatMonitorLog=/日志地址/logs/TomcatMonitor.log

Monitor()
{
echo "[info]开始监控tomcat...[$(date +'%F %H:%M:%S')]"
if [ $TomcatID ];then # 这里判断TOMCAT进程是否存在
echo "[info]当前tomcat进程ID为:$TomcatID,继续检测页面..."
# 检测是否启动成功(成功的话页面会返回状态"200")
TomcatServiceCode=$(curl -I -s -o /dev/null -m 10 --connect-timeout 15 $WebUrl -w %{http_code})
if [ $TomcatServiceCode -eq 200 ];then
echo "[info]页面返回码为$TomcatServiceCode,tomcat启动成功,测试页面正常......"
else
echo "[error]tomcat页面出错,请注意......状态码为$TomcatServiceCode,错误日志已输出到$GetPageInfo"
echo "[error]页面访问出错,开始重启tomcat"
kill -9 $TomcatID # 杀掉原tomcat进程
echo "杀掉原tomcat进程 $TomcatID"
sleep 10
#rm -rf $TomcatCache # 清理tomcat缓存
echo "[info]$StartTomcat,请稍候......"
$StartTomcat
fi
else
echo "[error]tomcat进程不存在!tomcat开始自动重启..."
echo "[info]$StartTomcat,请稍候......"
#rm -rf $TomcatCache
$StartTomcat
fi
echo "------------------------------"
}
Monitor>>$TomcatMonitorLog

 

/*每分钟执行1次*/

*/1 * * * * /home/user/monitor.sh

/*

在linux部署DCS服务,为防止服务会出现挂掉的状态,需要监视tomcat的运行状态,如果发现tomcat挂掉,需要马上启动,在这里,可以写一个脚本文件,监视tomcat的运行状态,然后把这个脚本文件放入linux系统自带的定时任务中,设置时间来监视服务的运行状态

第一步:创建一个脚本文件,比如monitor.sh
cd /home/user
vi monitor.sh

内容如上表

上面代码4个黑体部分说明:

1、存放DCS服务的tomcat的名称,这个必须与放入dcs服务的tomcat名字保持一致。

2、存放DCS服务的tomcat的中startup.sh的绝对路径。

3、这个页面地址是需要监控服务的接口。用dcs.web举例,可以使用curl http://localhost:端口/dcs.web/queryInfo查看一下,判断服务是否正常。

4、存放这个脚本文件的log文件的地址,需要运行前新建路径。

可以使用脚本中的命令
ps -ef |grep tomcat |grep -w 'apache-tomcat-8.0.26'|grep -v 'grep'|awk '{print $2}' 判断是否可以获取tomcat的正确pid

以及
curl -I -s -o /dev/null -m 10 —connect-timeout 15 $WebUrl -w %{http_code}

注意:$WebUrl 这个指定是要监控的页面地址
通过返回值测试页面是否正常访问

 

 当返回值是200的时候,表示服务正常

第二步: 给脚本授权权限
脚本写好之后,需要给脚本授权权限: chmod 755 monitor.sh
测试脚本是否正确,
1、关闭tomcat进程
2、启动脚本:./monitor.sh
3、用touch创建观察TomcatMonitorLog日志内容是否正常
4、查看tomcat是否正常启动

第三步:加入linux定时任务中

*/1 * * * * /home/user/monitor.sh

/*每分钟执行*/

查看日志

tail -100f TomcatMonitor.log 

 

posted @ 2021-10-11 20:39  jhtchina  阅读(45)  评论(0)    收藏  举报