ud
This commit is contained in:
86
directadmin-1.62.4/scripts/rotate_email_usage.sh
Normal file
86
directadmin-1.62.4/scripts/rotate_email_usage.sh
Normal file
@@ -0,0 +1,86 @@
|
||||
#!/bin/sh
|
||||
|
||||
DIR=/etc/virtual/usage
|
||||
USERS=/usr/local/directadmin/data/users
|
||||
|
||||
if [ ! -d $DIR ]; then
|
||||
exit 0;
|
||||
fi
|
||||
|
||||
#for i in `ls $DIR | grep -e '.bytes$'`; do
|
||||
for i in `ls ${DIR}/*.bytes 2>/dev/null | cut -d/ -f5`; do
|
||||
{
|
||||
U_NAME=`echo $i | cut -d. -f1`
|
||||
#U_NAME=$i
|
||||
|
||||
BF=${DIR}/${i}
|
||||
|
||||
if [ ! -e ${BF} ]; then
|
||||
echo "rotate_email_usage.sh: cannot find ${BF}";
|
||||
fi
|
||||
|
||||
if [ -d $USERS/$U_NAME ]; then
|
||||
echo "0=type=timestamp&time=`date +%s`" >> $USERS/$U_NAME/bandwidth.tally
|
||||
#cat $DIR/$i >> $USERS/$U_NAME/bandwidth.tally
|
||||
cat ${BF} >> $USERS/$U_NAME/bandwidth.tally
|
||||
else
|
||||
echo "rotate_email_usage.sh: Cannot find $USERS/$U_NAME";
|
||||
fi
|
||||
};
|
||||
done;
|
||||
|
||||
rm -rf $DIR/*
|
||||
|
||||
#remove per-email counts:
|
||||
rm -f /etc/virtual/*/usage/*
|
||||
|
||||
|
||||
#dovecot.bytes entries.
|
||||
EV=/etc/virtual
|
||||
for i in `ls ${EV}/*/dovecot.bytes 2>/dev/null | cut -d/ -f4`; do
|
||||
{
|
||||
D=${EV}/${i};
|
||||
if [ -h $D ]; then
|
||||
continue;
|
||||
fi
|
||||
|
||||
#if it's empty, ignore it.
|
||||
DB=${D}/dovecot.bytes
|
||||
if [ ! -s ${DB} ]; then
|
||||
continue;
|
||||
fi
|
||||
|
||||
USERN=`grep -e "^$i:" /etc/virtual/domainowners | cut -d\ -f2`
|
||||
if [ "${USERN}" = "" ]; then
|
||||
echo "$i seems to be missing from /etc/virtual/domainowners";
|
||||
continue;
|
||||
fi
|
||||
|
||||
DU=${USERS}/${USERN}
|
||||
if [ ! -d "${DU}" ]; then
|
||||
echo "Cannot find owner of $i from domainowners";
|
||||
continue;
|
||||
fi
|
||||
|
||||
cat ${DB} >> ${DU}/bandwidth.tally
|
||||
|
||||
rm -f ${DB};
|
||||
};
|
||||
done;
|
||||
|
||||
|
||||
for i in `ls ${USERS}/*/dovecot.bytes 2>/dev/null | cut -d/ -f7`; do
|
||||
{
|
||||
DU=${USERS}/${i}
|
||||
DB=${DU}/dovecot.bytes
|
||||
if [ ! -s ${DB} ]; then
|
||||
continue;
|
||||
fi
|
||||
|
||||
cat ${DB} >> ${DU}/bandwidth.tally
|
||||
|
||||
rm -f ${DB};
|
||||
};
|
||||
done;
|
||||
|
||||
exit 0;
|
||||
Reference in New Issue
Block a user