监控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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下