#!/bin/bash AWK=/usr/bin/awk DF=/bin/df SED=/bin/sed MOUNT=/bin/mount QUOTA=/usr/bin/quota GREP=/bin/grep WC=/usr/bin/wc BLKID=/sbin/blkid MID=$1 source /etc/alternc/local.sh if [ "x$MID" == "x" ] ; then echo "Usage: quota_get " echo "Get the quota of the AlternC account having uid " exit 1 fi #checking if quotas are installed command -v $QUOTA >/dev/null || { echo "Quotas uninstalled"; exit 0; } # The second line is the one interesting # We look precisely on the HTML directory. Why ? because it's surely # the bigger one, and if someone separate it we need to look this one # particulary. It should be interesting to cumulate quota of all mounted directory. DATA_PART=`$DF "${ALTERNC_HTML}" 2>/dev/null | $AWK 'NR==2 { print $1 }'` # quota will give over NFS will print the partition using the full NFS name # (e.g. 10.0.0.1:/var/www/alternc) so we need to lookup first with mount # to convert DATA_PART if needed. QUOTA_PART=`$MOUNT | $SED -n -e "s,\([^ ]*\) on ${DATA_PART} type nfs.*,\1,p"` if [ -z "$QUOTA_PART" ]; then QUOTA_PART="$DATA_PART" #if the partition is an LVM one we need to adress the partition by its UUID UUID=$( $BLKID | grep "$QUOTA_PART" | cut -f2 -s -d" " | sed 's/\(UUID="\)\(.*\)\(\"$\)/\2/') fi quot=$(sudo quota -wvg "$MID" | grep "$QUOTA_PART" | $AWK 'NR==1 {print $1;}' ) # Now we get the quota #first by testing if the partition is referenced by UUID val=$(sudo quota -vwg "$MID" |grep "$UUID" | awk 'END { print $2 "\n" $3; }') if [ -z "$val" ] ; then val=$(sudo quota -A -wg "$MID" |grep "$QUOTA_PART" | awk 'END { print $2 "\n" $3; }') # If the quota aren't activated, I return something anyway if [ -z "$val" ] ; then echo -e "0\n0" else echo -e "$val" fi else echo -e "$val" fi