-
Notifications
You must be signed in to change notification settings - Fork 1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
391c6ca
commit 9087a5b
Showing
5 changed files
with
214 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
#!/bin/bash | ||
# info: add system quota | ||
# opions: NONE | ||
# | ||
# The script enables filesystem quota on /home patition | ||
|
||
|
||
#----------------------------------------------------------# | ||
# Variable&Function # | ||
#----------------------------------------------------------# | ||
|
||
# Includes | ||
source $VESTA/func/main.sh | ||
source $VESTA/conf/vesta.conf | ||
|
||
|
||
#----------------------------------------------------------# | ||
# Verifications # | ||
#----------------------------------------------------------# | ||
|
||
# Checking quota package | ||
if [ ! -e "/usr/sbin/setquota" ]; then | ||
if [ -e "/etc/redhat-release" ]; then | ||
yum -y install quota >/dev/null 2>&1 | ||
result=$? | ||
else | ||
export DEBIAN_FRONTEND=noninteractive | ||
apt-get -y install quota >/dev/null 2>&1 | ||
result=$? | ||
fi | ||
|
||
# Checking installation status | ||
if [ "$result" -ne 0 ]; then | ||
echo "Error: quota package wasn't successfully installed" | ||
log_event "$E_UPDATE" "$EVENT" | ||
exit $E_UPDATE | ||
fi | ||
fi | ||
|
||
|
||
#----------------------------------------------------------# | ||
# Action # | ||
#----------------------------------------------------------# | ||
|
||
# Adding usrquota option 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/$options/$options,usrquota/" /etc/fstab | ||
mount -o remount $mnt | ||
fi | ||
|
||
# Adding aquota.user file | ||
if [ ! -e "$mnt/aquota.user" ]; then | ||
quotacheck -cu $mnt >/dev/null 2>&1 | ||
fi | ||
|
||
# Building fs quota index | ||
quotacheck -um $mnt | ||
|
||
# Adding weekly cron job | ||
echo "quotacheck -um $mnt" > /etc/cron.daily/quotacheck | ||
chmod a+x /etc/cron.daily/quotacheck | ||
|
||
# Enabling fs quota | ||
if [ ! -z "$(quotaon -pa|grep " $mnt "|grep user|grep 'off')" ]; then | ||
quotaon $mnt | ||
fi | ||
|
||
# Updating DISK_QUOTA value | ||
if [ -z "$(grep DISK_QUOTA $VESTA/conf/vesta.conf)" ]; then | ||
echo "DISK_QUOTA='yes'" >> $VESTA/conf/vesta.conf | ||
else | ||
sed -i "s/DISK_QUOTA=.*/DISK_QUOTA='yes'/g" $VESTA/conf/vesta.conf | ||
fi | ||
|
||
# Rebuilding user quota | ||
for user in $(ls $VESTA/data/users); do | ||
$BIN/v-update-user-quota $user | ||
done | ||
|
||
|
||
#----------------------------------------------------------# | ||
# Vesta # | ||
#----------------------------------------------------------# | ||
|
||
# Logging | ||
log_event "$OK" "$EVENT" | ||
|
||
exit |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
#!/bin/bash | ||
# info: delete system quota | ||
# opions: NONE | ||
# | ||
# The script disables filesystem quota on /home patition | ||
|
||
|
||
#----------------------------------------------------------# | ||
# Variable&Function # | ||
#----------------------------------------------------------# | ||
|
||
# Includes | ||
source $VESTA/func/main.sh | ||
source $VESTA/conf/vesta.conf | ||
|
||
|
||
#----------------------------------------------------------# | ||
# Verifications # | ||
#----------------------------------------------------------# | ||
|
||
|
||
#----------------------------------------------------------# | ||
# 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 | ||
mount -o remount $mnt | ||
fi | ||
|
||
# Disabling fs quota | ||
if [ -z "$(quotaon -pa|grep " $mnt "|grep user|grep 'off')" ]; then | ||
quotaoff $mnt | ||
fi | ||
|
||
# Deleting quota index | ||
if [ -e "$mnt/aquota.user" ]; then | ||
rm $mnt/aquota.user | ||
fi | ||
|
||
# Deleting weekly cron job | ||
rm -f /etc/cron.daily/quotacheck | ||
|
||
# Updating DISK_QUOTA value | ||
if [ -z "$(grep DISK_QUOTA $VESTA/conf/vesta.conf)" ]; then | ||
echo "DISK_QUOTA='no'" >> $VESTA/conf/vesta.conf | ||
else | ||
sed -i "s/DISK_QUOTA=.*/DISK_QUOTA='no'/g" $VESTA/conf/vesta.conf | ||
fi | ||
|
||
|
||
#----------------------------------------------------------# | ||
# Vesta # | ||
#----------------------------------------------------------# | ||
|
||
# Logging | ||
log_event "$OK" "$EVENT" | ||
|
||
exit |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
#!/bin/bash | ||
# info: update user disk quota | ||
# options: USER | ||
# | ||
# The functions upates disk quota for specific user | ||
|
||
|
||
#----------------------------------------------------------# | ||
# Variable&Function # | ||
#----------------------------------------------------------# | ||
|
||
# Argument defenition | ||
user=$1 | ||
|
||
# Includes | ||
source $VESTA/func/main.sh | ||
source $VESTA/conf/vesta.conf | ||
|
||
|
||
#----------------------------------------------------------# | ||
# Verifications # | ||
#----------------------------------------------------------# | ||
|
||
check_args '1' "$#" 'USER' | ||
validate_format 'user' | ||
is_object_valid 'user' 'USER' "$user" | ||
|
||
|
||
#----------------------------------------------------------# | ||
# Action # | ||
#----------------------------------------------------------# | ||
|
||
# Updating disk quota | ||
soft=$(get_user_value '$DISK_QUOTA') | ||
soft=$((soft * 100)) | ||
hard=$((soft + 50000)) | ||
|
||
mnt=$(df -P /home |awk '{print $6}' |tail -n1) | ||
setquota $user $soft $hard 0 0 $mnt | ||
|
||
|
||
#----------------------------------------------------------# | ||
# Vesta # | ||
#----------------------------------------------------------# | ||
|
||
# Logging | ||
log_event "$OK" "$EVENT" | ||
|
||
exit |