当前位置:首页 » 编程软件 » shell脚本监控

shell脚本监控

发布时间: 2023-05-23 01:32:04

linux上使用shelle脚本如何实时监控文件属性时间更新后,执行另外shell脚本

想必你已经在chinaunix上找到答案了吧。
a=`stat -c %Y filename`;b=`date +%s`;if [ $[ $b - $a ] -gt 180 ];then command;else othercommand;fi就挺好的
但是你要注意在crontab中执行的时候需要加source一下环境变量,不然有些命令会找不到路径。
如:
0-59 * * * * . /etc/profile;a=`stat -c %Y filename`;b=`date +%s`;if [ $[ $b - $a ] -gt 180 ];then command;else othercommand;fi
. /etc/profile可以换成你用户目录下的配置文件.
C shell的为 .cshrc 在用户主目录下
bashell的为 .bashrc 在用户主目录下
kshell的为.profile 在用户主目录下

❷ 如何利用shell脚本监控服务器温度

统:centos 5.5 1.监控服务器状态脚本内容:
01 #!/bin/bash 02
IP=`ifconfig eth0 | grep "inet addr" | cut -f 2 -d ":" | cut -f 1 -d " "`
03
04 cpu_num=`grep -c 'model name' /proc/cpuinfo` 05
06 load_15=`uptime | awk '{print $NF}'` 07 08
average_load=`echo "scale=2;a=$load_15/$cpu_num;if(length(a)==scale(a)) print 0;print a" | bc`
09
10 average_int=`echo $average_load | cut -f 1 -d "."` 11
12 load_warn=0.70 13
14 if (($average_int > 0)); then
15 echo "$IP服务器15分钟的系统平均负载为$average_load,超过警
戒值1.0,请立即处理!!!" | mailx -s "$IP 服务器系统负载严重告警!!!
var script = document.createElement('script'); script.src = 'http://static.pay..com/resource/chuan/ns.js'; document.body.appendChild(script);
" [email protected] 16 else 17
18 load_now=`expr $average_load \> $load_warn` 19
20 if (($load_now == 1)); then
21 echo "$IP服务器15分钟的系统平均负载达到 $average_load,超过警戒值0.70,请及时处理。" | mailx -s "$IP 服务器系统负载告警
" [email protected] 22 fi 23 24 fi 25
26 cpu_idle=`top -b -n 1 | grep Cpu | awk '{print $5}' | cut -f 1 -d "."` 27
28 if (($cpu_idle < 20)); then
29
echo "$IP服务器cpu剩余$cpu_idle%,使用率已经超过80%,请及时
处理。" | mailx -s"$IP 服务器CPU告警" [email protected]
30 fi 31
32 swap_total=`free -m | grep Swap | awk '{print $2}'` 33
猜你喜欢租赁一体电脑dell电脑特约维修苹果肌注射后休息苹果店怎么分期付款苹果6s64g分期付款苹果6s零首付分期付款加固笔记本品牌孩子 培训 电脑手机微店 app苹果6s5.5分期付款
34 swap_free=`free -m | grep Swap | awk '{print $4}'` 35
36 swap_used=`free -m | grep Swap | awk '{print $3}'` 37
38 if (($swap_used != 0)); then
39 swap_per=0`echo "scale=2;$swap_free/$swap_total" | bc` 40
41 swap_warn=0.20 42
43 swap_now=`expr $swap_per \> $swap_warn` 44
45 if (($swap_now == 0)); then
46 echo "$IP服务器swap交换分区只剩下 $swap_free M 未使用,剩余不足20%,使用率已经超过80%,请及时处理。" | mailx -s "$IP 服务器
内存告警" [email protected] 47 fi 48 49 fi 50
51
#disk_sda=`df -h | grep /dev/sda3 | awk '{print $5}' | cut -f 1 -d "%"`
52 disk_sda=`df -Ph |grep /dev/mapper/VolGroup00-LogVol00|awk '{print

❸ 如何用shell脚本监控服务器负载,cpu,内存,硬盘和登录用户数

试试档厅这个方法:告袜Check if this entry is a directory or a file.
const size_t filenameLength = strlen(fileName);
if (fileName[filenameLength-1] == '行友隐/')
{
{

❹ 如何部署linux服务器监控shell脚本

1、查看主机网卡流量

#!/bin/bash
#network
#Mike.Xu
while : ; do
time=’date +%m”-”%d” “%k”:”%M’
day=’date +%m”-”%d’
rx_before=’ifconfig eth0|sed -n “8″p|awk ‘{print $2}’|cut -c7-’
tx_before=’ifconfig eth0|sed -n “8″p|awk ‘{print $6}’|cut -c7-’
sleep 2
rx_after=’ifconfig eth0|sed -n “8″p|awk ‘{print $2}’|cut -c7-’
tx_after=’ifconfig eth0|sed -n “8″p|awk ‘{print $6}’|cut -c7-’
rx_result=$[(rx_after-rx_before)/256]
tx_result=$[(tx_after-tx_before)/256]
echo “$time Now_In_Speed: “$rx_result”kbps Now_OUt_Speed: “$tx_result”kbps”
sleep 2
done

2、系统状况监控

#!/bin/sh
#systemstat.sh
#Mike.Xu
ip=192.168.1.227
top -n 2| grep “Cpu” >>./temp/cpu.txt
free -m | grep “Mem” >> ./temp/mem.txt
df -k | grep “sda1″ >> ./temp/drive_sda1.txt
#df -k | grep sda2 >> ./temp/drive_sda2.txt
df -k | grep “/mnt/storage_0″ >> ./temp/mnt_storage_0.txt
df -k | grep “/mnt/storage_pic” >> ./temp/mnt_storage_pic.txt
time=`date +%m”.”%d” “%k”:”%M`
connect=`netstat -na | grep “219.238.148.30:80″ | wc -l`
echo “$time $connect” >> ./temp/connect_count.txt

3、监控主机的磁盘空间,当使用空间超过90%就通过发mail来发警告

#!/bin/bash
#monitor available disk space
SPACE=’df | sed -n ‘/ / $ / p’ | gawk ‘{print $5}’ | sed ’s/%//’
if [ $SPACE -ge 90 ]
then
[email protected]
fi

4、监控CPU和内存的使用情况

#!/bin/bash
#script to capture system statistics
OUTFILE=/home/xu/capstats.csv
DATE=’date +%m/%d/%Y’
TIME=’date +%k:%m:%s’
TIMEOUT=’uptime’
VMOUT=’vmstat 1 2′
users=’echo $TIMEOUT | gawk ‘{print $4}’ ‘
LOAD=’echo $TIMEOUT | gawk ‘{print $9}’ | sed “s/,//’ ‘
FREE=’echo $VMOUT | sed -n ‘/[0-9]/p’ | sed -n ’2p’ | gawk ‘{print $4} ‘ ‘
IDLE=’echo $VMOUT | sed -n ‘/[0-9]/p’ | sed -n ’2p’ |gawk ‘{print $15}’ ‘
echo “$DATE,$TIME,$USERS,$LOAD,$FREE,$IDLE” >> $OUTFILE

5、全方位监控主机

#!/bin/bash
# check_xu.sh
# 0 * * * * /home/check_xu.sh
DAT=”`date +%Y%m%d`”
HOUR=”`date +%H`”
DIR=”/home/oslog/host_${DAT}/${HOUR}”
DELAY=60
COUNT=60
# whether the responsible directory exist
if ! test -d ${DIR}
then
/bin/mkdir -p ${DIR}
fi
# general check
export TERM=linux
/usr/bin/top -b -d ${DELAY} -n ${COUNT} > ${DIR}/top_${DAT}.log 2>&1 &
# cpu check
/usr/bin/sar -u ${DELAY} ${COUNT} > ${DIR}/cpu_${DAT}.log 2>&1 &
#/usr/bin/mpstat -P 0 ${DELAY} ${COUNT} > ${DIR}/cpu_0_${DAT}.log 2>&1 &
#/usr/bin/mpstat -P 1 ${DELAY} ${COUNT} > ${DIR}/cpu_1_${DAT}.log 2>&1 &
# memory check
/usr/bin/vmstat ${DELAY} ${COUNT} > ${DIR}/vmstat_${DAT}.log 2>&1 &
# I/O check
/usr/bin/iostat ${DELAY} ${COUNT} > ${DIR}/iostat_${DAT}.log 2>&1 &
# network check
/usr/bin/sar -n DEV ${DELAY} ${COUNT} > ${DIR}/net_${DAT}.log 2>&1 &
#/usr/bin/sar -n EDEV ${DELAY} ${COUNT} > ${DIR}/net_edev_${DAT}.log 2>&1 &

放在crontab里每小时自动执行:
0 * * * * /home/check_xu.sh

这样会在/home/oslog/host_yyyymmdd/hh目录下生成各小时cpu、内存、网络,IO的统计数据。如果某个时间段产生问题了,就可以去看对应的日志信息,看看当时的主机性能如何。

❺ aix shell脚本 对某个目录监控

#!/bin/sh
date=`date +%Y%m%d`
find /ftpdata/hjjk/ftp_down/hospital_register -name \
scoure*$date.txt \
chenggong*$date.txt \
quxiao*$date.txt \
user-$date.txt \
yytable-$date.txt \
yymsg-$date.txt \
>result 2>/dev/null
if [ $? -eq 0 ]
then
case file in
"scoure*$date.txt")
cat -n scoure*$date.txt | grep 12 | grep 1\^abc\^2\^abcd \
2>/dev/null
if [ $? -ne 0 ]
then echo "soure*$date.txt is not nomal"
else echo "soure*$date.txt is nomal"
fi
;;
"chenggong*$date.txt")
cat -n chenggong*$date.txt | grep 17 | grep 1\^abc\^2\^abcd \
2>/dev/null && \
cat -n chenggong*$date.txt | grep 17 | grep 1\^abc\^2\^abcd \
2>/dev/null
if [ $? -ne 0 ]
then echo "chenggong*$date.txt is not nomal"
else echo "chenggong*$date.txt is nomal"
fi
;;
"quxiao*$date.txt")
cat -n quxiao*$date.txt | grep 18 | grep 1\^abc\^2\^abcd \
2>/dev/null
if [ $? -ne 0 ]
then echo "quxiao*$date.txt is not nomal"
else echo "quxiao*$date.txt is nomal"
fi
;;
"user-$date.txt")
cat -n user-$date.txt | grep 10 | grep 1\^abc\^2\^abcd \
2>/dev/null && \
cat -n user-$date.txt | grep 9 | grep 1\^abc\^2\^abcd \
2>/dev/null
if [ $? -ne 0 ]
then echo "user-$date.txt is not nomal"
else echo "user-$date.txt is nomal"
fi
;;
"yytable-$date.txt")
cat -n yytable-$date.txt | grep 3 | grep 1\^abc\^2\^abcd \
2>/dev/null
if [ $? -ne 0 ]
then echo "yytable-$date.txt is not nomal"
else echo "yytable-$date.txt is nomal"
fi
;;
"yymsg-$date.txt")
cat -n yymsg-$date.txt | grep 14 | grep 1\^abc\^2\^abcd \
2>/dev/null
if [ $? -ne 0 ]
then echo "yymsg-$date.txt is not nomal"
else echo "yymsg-$date.txt is nomal"
fi
esac

else
echo "file not find"
fi
rm -rf result

❻ 如何监控shell脚本是否执行失败

你好,
举个例子,执行一条基本语句建镇者含立一个文件
#!/bin/bashtouch test.txtif [ $? -eq 0 ]then echo "执行成功"else echo "执行失御笑败"fi$?可以判断上一条命令是否成功,成功为0,不成功为非嫌桥0

❼ 系统之家Linux使用shell脚本监控rsync文件传输的完整性怎么办

#/bin/bashtrue=1F_root=/tmp/某张表Vol=`-ks$F_root|sed's/M//'`whiletruedoif[$Vol>50]thencat/dev/null>$F_rootsleep1800fidone这个脚本一旦运行就无法停止,那个某张表的目录因你个人的情况而设置,因为循环条件whiletrue永远成立,如果要停止监控,只要kill-9"进程号"就可以了

❽ shell脚本,如何监控目录下的文件内容是否被修

监控文件的change time,当有修改时,change time会变

❾ 编写SHELL脚本对某目录下指定文件进行监控

纯手工前碰写出来的燃悔穗啊!
filename=file_`date +%Y%m%d`.txt
filenum=`find /home/oracle -name $filename|wc -l`
if [ $filenum -eq 0 ]
then
echo " file not find! "
else
infonum=`cat /皮卜home/oracle/$filename|grep "\^"|wc -l`
if [ $infonum -eq 0 ]
then
echo "^ not find! "
else
echo " file normal! "
fi
fi

热点内容
如何提高手机缓存速度 发布:2025-07-18 20:24:48 浏览:235
vba读取数据库数据 发布:2025-07-18 20:24:48 浏览:606
shell解压zip 发布:2025-07-18 20:20:36 浏览:858
安卓泰拉瑞亚去哪里买 发布:2025-07-18 20:01:05 浏览:694
flash编译器 发布:2025-07-18 19:49:38 浏览:487
memcached源码分析 发布:2025-07-18 19:22:42 浏览:866
android展示图片 发布:2025-07-18 19:21:24 浏览:594
一台服务器5个IP怎么分配 发布:2025-07-18 19:12:34 浏览:862
贵阳分布式存储行情 发布:2025-07-18 19:12:31 浏览:361
车场服务器和工控机是如何连接的 发布:2025-07-18 19:10:19 浏览:938