diff --git a/bin/v-delete-sys-quota b/bin/v-delete-sys-quota index 13f23e9c8..61d18faa2 100755 --- a/bin/v-delete-sys-quota +++ b/bin/v-delete-sys-quota @@ -1,12 +1,12 @@ #!/bin/bash # info: delete system quota -# opions: NONE +# options: NONE # # The script disables filesystem quota on /home patition #----------------------------------------------------------# -# Variable&Function # +# Variable & Function # #----------------------------------------------------------# # Includes @@ -23,29 +23,34 @@ source $VESTA/conf/vesta.conf # Action # #----------------------------------------------------------# -# Deleting usrquota on /home partition -mnt=$(df -P /home |awk '{print $6}' |tail -n1) -lnr=$(cat -n /etc/fstab |awk '{print $1,$3}' |grep "$mnt$" |cut -f 1 -d ' ') -options=$(sed -n ${lnr}p /etc/fstab |awk '{print $4}') -if [ ! -z "$(echo $options |grep usrquota)" ]; then - sed -i "$lnr s/,usrquota//" /etc/fstab +# Deleting group and user quota on /home partition +mnt=$(df -P /home | awk '{print $6}' | tail -n1) +lnr=$(cat -n /etc/fstab | awk '{print $1,$3}' | grep "$mnt$" | cut -f 1 -d ' ') +opt=$(sed -n ${lnr}p /etc/fstab | awk '{print $4}') +fnd='usrquota\|grpquota\|usrjquota=\|grpjquota=\|jqfmt=' +if [ ! -z "$(echo $opt | grep $fnd)" ]; then + rep=$(echo $(echo $opt | tr ',' '\n' | grep -v $fnd) | tr ' ' ',') + sed -i "$lnr s/$opt/$rep/" /etc/fstab mount -o remount $mnt fi -# Disabling fs quota -if [ -z "$(quotaon -pa|grep " $mnt "|grep user|grep 'off')" ]; then - quotaoff $mnt +# Disabling group and user quota +quotaoff=$(which --skip-alias --skip-functions quotaoff 2>/dev/null) +if [ $? -eq 0 ]; then + if [ ! -z "$(quotaon -pa | grep " $mnt " | grep 'user\|group' | grep 'is on')" ]; then + $quotaoff $mnt + fi fi -# Deleting quota index -if [ -e "$mnt/aquota.user" ]; then - rm $mnt/aquota.user -fi +# Deleting v1 + v2 group and user quota index +for idx in $(echo 'quota.user quota.group aquota.user aquota.group'); do + [ -e "$mnt/$idx" ] && rm -f $mnt/$idx +done -# Deleting weekly cron job +# Deleting cron job rm -f /etc/cron.daily/quotacheck -# Updating DISK_QUOTA value +# Updating vesta.conf value if [ -z "$(grep DISK_QUOTA $VESTA/conf/vesta.conf)" ]; then echo "DISK_QUOTA='no'" >> $VESTA/conf/vesta.conf else