监控linux服务器上指定文件大小变化

#!/bin/bash

# 被监测的文件路径数组
FILES=("/dev/shm/uftmdb.table.demo.as_nstkcode_tmp" "/dev/shm/uftmdb.table.demo.as_optstkcode_tmp" "/dev/shm/uftmdb.table.demo.as_stkcode_tmp")

# 初始化最大文件大小数组
declare -A max_sizes

for file in "${FILES[@]}"
do
max_sizes["$file"]=0
done

while true
do
for file in "${FILES[@]}"
do
# 检查文件是否存在
if [ -f "$file" ]; then
# 获取当前文件大小(以字节为单位)
current_size=$(stat -c%s "$file")

# 将当前文件大小转换为 MB
current_size_mb=$(echo "scale=2; $current_size / 1024 / 1024" | bc)

# 如果当前文件大小大于记录的最大文件大小,则更新最大文件大小
if [ "$current_size" -gt "${max_sizes["$file"]}" ]; then
max_sizes["$file"]=$current_size
fi

# 将最大文件大小转换为 MB
max_size_mb=$(echo "scale=2; ${max_sizes["$file"]} / 1024 / 1024" | bc)

# 输出当前文件大小和最大文件大小
echo "File: $file, Current size: $current_size_mb MB, Max size: $max_size_mb MB"
else
echo "File: $file does not exist."
fi
done

# 等待1秒再进行下一次检测
sleep 1
done

posted @   小白成长记-yan  阅读(46)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示