You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

需求:开发监控两个NFS位置构建文件夹磁盘空间并记录时间的脚本

跨服务器构建文件夹磁盘空间监控脚本

前提条件

  • 已配置监控服务器到印度Linux服务器、渥太华Linux服务器的SSH免密登录,确保无需输入密码即可执行远程命令。

监控脚本(bash)

#!/bin/bash

# 定义服务器及目标路径信息
INDIA_SERVER="your-india-server-ip-or-hostname"
INDIA_PATH="/nfs/appdata/6500_build"
OTTAWA_SERVER="your-ottawa-server-ip-or-hostname"
OTTAWA_PATH="/nfs/appdata/bamboo_6500_dest"

# 定义日志文件路径(可根据需求修改)
LOG_FILE="/var/log/build_space_monitor.log"

# 获取当前时间戳
CURRENT_TIME=$(date "+%Y-%m-%d %H:%M:%S")

# 获取印度服务器目标文件夹空间
INDIA_SPACE=$(ssh $INDIA_SERVER "du -sh $INDIA_PATH 2>/dev/null | awk '{print \$1}'")
if [ -z "$INDIA_SPACE" ]; then
    INDIA_SPACE="获取失败(路径不存在或无权限)"
fi

# 获取渥太华服务器目标文件夹空间
OTTAWA_SPACE=$(ssh $OTTAWA_SERVER "du -sh $OTTAWA_PATH 2>/dev/null | awk '{print \$1}'")
if [ -z "$OTTAWA_SPACE" ]; then
    OTTAWA_SPACE="获取失败(路径不存在或无权限)"
fi

# 写入日志
echo "[$CURRENT_TIME] 印度服务器($INDIA_SERVER) $INDIA_PATH: $INDIA_SPACE" >> $LOG_FILE
echo "[$CURRENT_TIME] 渥太华服务器($OTTAWA_SERVER) $OTTAWA_PATH: $OTTAWA_SPACE" >> $LOG_FILE
echo "------------------------------------------------------------" >> $LOG_FILE

脚本说明

  • 使用du -sh命令获取目标文件夹的总大小(人类可读格式),并通过awk提取大小数值部分。
  • 加入错误处理:若远程命令执行失败(如路径不存在、无权限),日志中会记录“获取失败”提示。
  • 日志文件默认写入/var/log/build_space_monitor.log,可根据实际需求修改路径。
  • 每条日志记录包含时间戳、服务器标识、目标路径及空间大小,便于后续排查。

使用方法

  1. 将上述脚本保存为build_space_monitor.sh。
  2. 赋予执行权限:chmod +x build_space_monitor.sh。
  3. 手动测试执行:./build_space_monitor.sh,查看日志文件确认记录正常。
  4. 若需要定时监控,可通过crontab配置定时任务,例如每小时执行一次:
    crontab -e
    # 添加以下内容
    0 * * * * /path/to/build_space_monitor.sh
    

内容的提问来源于stack exchange,提问作者Soni

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 07:05:50