Contact Info

Crumbtrail

ActiveXperts.com » Network Monitor » Scripts » Custom Script

folder-size.sh - ssh script by ActiveXperts Software

folder-size.sh checks the size of a directory on a host.

Use folder-size.sh directly from ActiveXperts Network Monitor; in the Manager's 'Monitor' menu, select 'New Check (Script)' and select folder-size.sh. Configure the required parameter, or press 'Load a working sample'.

In ActiveXperts Network Monitor, Administrators can use three different scripting languages: Powershell, VBScript and SSH.


folder-size.sh script code

#################################################################################
# ActiveXperts Network Monitor - Shell script checks
# © 1999-2015, ActiveXperts Software B.V.
#
# For more information about ActiveXperts Network Monitor and SSH, please
# visit the online ActiveXperts Network Monitor Shell Script Guidelines at:
#   http://www.activexperts.com/support/network-monitor/online/linux/
#################################################################################
# Script
#     folder-size.sh
# Description
#     Checks the size of a directory in Kilo Bytes
# Declare Parameters
#     1) directory (string) - Directory to check
#     2) max_size_MB (int) - Size of the directory in MegaBytes
# Usage
#     folder-size.sh <directory> <max_size_MB>
# Sample
#     folder-size.sh /home/user 30
#################################################################################

#!/bin/sh

# Validate number of arguments
if [ $# -ne 2 ] ; then
  echo "UNCERTAIN: Invalid number of arguments - Usage: folder-size <directory> <max_size_MB>"
  exit 1
fi

# Check the size of the directory specified
if [ -d "$1" ]; then
  SIZEKB=`du -s "$1" | awk '{ print $1; }'`
  SIZEMB=$( echo "$SIZEKB / 1024" | bc )

  # Round a float to an integer value
  SIZEMBINT=$( echo "$SIZEMB / 1" | bc )

  # Round a float to an integer value
  MAXSIZEMB=$( echo "$2 / 1" | bc )

  if [ $SIZEMBINT -le $MAXSIZEMB ] ; then
    echo "SUCCESS: Size of directory=[$SIZEMBINT MB], maximum allowed=[$MAXSIZEMB MB] DATA:$SIZEMBINT"
  else
    echo "ERROR: Size of directory=[$SIZEMBINT MB], maximum allowed=[$MAXSIZEMB MB] DATA:$SIZEMBINT"
  fi
else
  echo "UNCERTAIN: $1 is not a directory"
fi