From 73a434dfd2f88c741d04eaf3e4cf0a436d743dcb Mon Sep 17 00:00:00 2001 From: Victor LABORIE Date: Mon, 12 Nov 2018 13:52:13 +0100 Subject: [PATCH] Add script for get size without quota --- scripts/get-size-no-quota.sh | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100755 scripts/get-size-no-quota.sh diff --git a/scripts/get-size-no-quota.sh b/scripts/get-size-no-quota.sh new file mode 100755 index 0000000..19992b9 --- /dev/null +++ b/scripts/get-size-no-quota.sh @@ -0,0 +1,28 @@ +#!/bin/sh + +set -eu + +DUC=$(command -v duc-nox || command -v duc) +EVOADMINMAIL_DIR="/home/evoadmin-mail" +CSV_DIR="${EVOADMINMAIL_DIR}/quota" +IDX_FILE="${EVOADMINMAIL_DIR}/duc-vmail.idx" +VMAIL_DIR="/home/vmail" +EVOADMINMAIL_GROUP="evoadmin-mail" + +mkdir -p "${CSV_DIR}" && chgrp "${EVOADMINMAIL_GROUP}" "${CSV_DIR}" && chmod 750 "${CSV_DIR}" + +lsof "${IDX_FILE}" >/dev/null 2>&1 || nohup ionice -c3 "${DUC}" index -d "${IDX_FILE}" "${VMAIL_DIR}" >/dev/null 2>&1 & + +timeout 10 sh -c -- "while [ ! -f ${IDX_FILE} ]; do sleep 1; done" + +"${DUC}" ls --dirs-only -d "${IDX_FILE}" "${VMAIL_DIR}" | awk '{ print $2 ";" $1 ";-1" }' > "${CSV_DIR}/all.csv" +chgrp "${EVOADMINMAIL_GROUP}" "${CSV_DIR}/all.csv" +chmod 640 "${CSV_DIR}/all.csv" + +cut -d ";" -f1 "${CSV_DIR}/all.csv" | while read domain; do + if [ -d "${VMAIL_DIR}/${domain}" ]; then + "${DUC}" ls --dirs-only -d "${IDX_FILE}" "${VMAIL_DIR}/${domain}" | awk '{ print $2 ";" $1 ";-1" }' > "${CSV_DIR}/${domain}.csv" + chgrp "${EVOADMINMAIL_GROUP}" "${CSV_DIR}/${domain}.csv" + chmod 640 "${CSV_DIR}/${domain}.csv" + fi +done