#!/bin/bash # Usage: sequencelogic-fs-usage.sh [dir] DIR=$1 if [ "$DIR" = "" ]; then DIR=/sequencelogic fi if [ -d "${DIR}" ]; then READONLY=false CHKDIR=$DIR if [ "${DIR}" = "/" ]; then CHKDIR=/tmp fi touch "${CHKDIR}/.touchable" 2>/dev/null if [ $? != 0 ]; then READONLY=true fi CHECKED=`date +"%Y-%m-%dT%H:%M:%S"` /bin/echo -n ${CHECKED} 2>/dev/null > "${CHKDIR}/.checked" VERIFIED=$(<"${CHKDIR}/.checked") if [ "${PLATFORM}" = lin64 -o `uname` = Linux ]; then df=`df -BG -P ${DIR} | tail -1 | awk -v dir=${DIR} -v readonly=${READONLY} -v checked="${CHECKED}" -v verified="${VERIFIED}" '{pct=$5; used=$3; sub(/%/,"",pct); printf "[{\"status\":\"OK\",\"host\":\"%s\",\"used\":\"%ldGB\",\"fs_used_pct\":%d,\"device\":\"%s\",\"readonly\":%s,\"checked\":\"%s\",\"verified\":\"%s\"}]\n", dir, used, pct, $1, readonly, checked, verified}'` else df=`df -g ${DIR} | tail -1 | awk -v dir=${DIR} -v readonly=${READONLY} -v checked="${CHECKED}" -v verified="${VERIFIED}" '{pct=$5; used=$3; sub(/%/,"",pct); printf "[{\"status\":\"OK\", \"host\":\"%s\",\"used\":\"%ldGB\",\"fs_used_pct\":%d,\"device\":\"%s\",\"readonly\":%s,\"checked\":\"%s\",\"verified\":\"%s\"}]\n", dir, used, pct, $1, readonly, checked, verified}'` fi else df="{\"status\":\"ERROR\",\"error\":\"Directory not found\",\"host\":\"${DIR}\"}" fi sleep 1 echo $df exit 0