贴一个干活用的Shell(关于oracle的,分享)

本文介绍了一个用于进程监控的Shell脚本,该脚本能够读取配置文件中的进程路径,并利用ps命令获取进程的PID、CPU使用率及内存使用情况等信息。随后将这些信息插入到指定的数据库表中进行记录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#!/bin/bash    
#tnslsnr   
SERVERNAME=$(uname -a | awk '{ print $2}')
filename=$SERVERNAME"_PROCESSMONITOR.sql"
echo "connect pmsadmin/pmsadmin" >>${filename}
while read line
do      
   PROCESS_PATH=$(echo ${line}|awk '{print $2}')
   PID=$(ps -ef | grep $PROCESS_PATH |grep -v grep| awk '{print $2}' | head -1)
   Pcpu=$(ps -p $PID -o pcpu| tail -1)
   Pmem=$(ps -p $PID -o pmem| tail -1)
   Pmemused=$(echo $Pmem  /*  8388608 | bc)
   SERVERNAME=$(uname -a | awk '{ print $2}')
   if [ -z $PID ]
   then
     echo $PROCESS_PATH"DOWN" >./PROCESS.LOG
     echo "insert into tab_processmonitor values (0,'"$PROCESS_PATH"','"$Pcpu"','"$Pmem"','"$Pmemused"','"$SERVERNAME"');">>${filename}
     echo "commit;">>${filename}
   else
     echo "insert into tab_processmonitor values ("$PID",'"$PROCESS_PATH"','"$Pcpu"','"$Pmem"','"$Pmemused"','"$SERVERNAME"');">>${filename}
     echo "commit;">>${filename}
   fi
done < processmonitor.conf
echo "exit">>${filename}  
ftp -i -n 10.43.94.15 <<! user root root cd /export/home/monitorsh/sql lcd /export/home/monitorsh binary prompt put ${filename} bye !
rm ${filename}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值