Compare commits

..

2 Commits

View File

@ -23,10 +23,12 @@
# and writes a plain text report on stdout # and writes a plain text report on stdout
# ============================================ # ============================================
# Configuration file # Configuration data
CURL_CREDENTIAL="/etc/valise.chapril.org/curl_credential" CURL_CREDENTIAL="/etc/valise.chapril.org/curl_credential"
VALISE_STATS_DIR="/var/lib/valise.chapril.org" VALISE_STATS_DIR="/var/lib/valise.chapril.org"
VALISE_STATS_FILE="${VALISE_STATS_DIR}/stats" VALISE_STATS_FILE="${VALISE_STATS_DIR}/stats"
VALISE_BASE_DIR="/var/www/valise.chapril.org"
VALISE_UPDATER_DIR="${VALISE_BASE_DIR}/data/updater-oc30zo96k0y3"
# Extract a json value by path (given as argument) # Extract a json value by path (given as argument)
# The global JSON state is expected to be in NEXTCLOUD_STATE # The global JSON state is expected to be in NEXTCLOUD_STATE
@ -60,20 +62,29 @@ writeStatValue()
# Read and store the current service state # Read and store the current service state
# If something fails,
NEXTCLOUD_STATE=`curl --silent --netrc-file ${CURL_CREDENTIAL} http://localhost/ocs/v2.php/apps/serverinfo/api/v1/info?format=json` NEXTCLOUD_STATE=`curl --silent --netrc-file ${CURL_CREDENTIAL} http://localhost/ocs/v2.php/apps/serverinfo/api/v1/info?format=json`
# Extraction of Nextcloud important values # Extraction of Nextcloud important values
NB_OF_USERS=$(getNcState "nextcloud.storage.num_users") NB_OF_USERS=$(getNcState "nextcloud.storage.num_users")
NB_OF_FILES=$(getNcState "nextcloud.storage.num_files") NB_OF_FILES=$(getNcState "nextcloud.storage.num_files")
NB_OF_UPDATER_FILES=$(find ${VALISE_UPDATER_DIR} -type f|wc -l)
NB_OF_USER_FILES=$(( (${NB_OF_FILES}) - (${NB_OF_UPDATER_FILES}) - 4 ))
NB_OF_SHARES=$(getNcState "nextcloud.shares.num_shares") NB_OF_SHARES=$(getNcState "nextcloud.shares.num_shares")
USED_DISK_BYTES=$(du -sb "${VALISE_BASE_DIR}/data"|cut -f 1)
USED_DISK_GB=$(( (${USED_DISK_BYTES}) / (1024*1024*1024) ))
USED_DISK_USER_BYTES=$(du -sb --exclude="${VALISE_UPDATER_DIR}" --exclude="${VALISE_BASE_DIR}/data/*.log" "${VALISE_BASE_DIR}/data"|cut -f 1)
USED_DISK_USER_GB=$(( (${USED_DISK_USER_BYTES}) / (1024*1024*1024) ))
FREE_DISK_GB=$(( $(getNcState "nextcloud.system.freespace") / (1024*1024*1024) )) FREE_DISK_GB=$(( $(getNcState "nextcloud.system.freespace") / (1024*1024*1024) ))
DATABASE_SIZE_MB=$(( $(getNcState "server.database.size") / (1024*1024) )) DATABASE_SIZE_MB=$(( $(getNcState "server.database.size") / (1024*1024) ))
# Get previous values # Get previous values
NB_OF_USERS_P=0 NB_OF_USERS_P=0
NB_OF_FILES_P=0 NB_OF_FILES_P=0
NB_OF_USER_FILES_P=0
NB_OF_SHARES_P=0 NB_OF_SHARES_P=0
USED_DISK_GB_P=0
USED_DISK_USER_GB_P=0
FREE_DISK_GB_P=0 FREE_DISK_GB_P=0
DATABASE_SIZE_MB_P=0 DATABASE_SIZE_MB_P=0
@ -86,18 +97,25 @@ fi
mkdir -p ${VALISE_STATS_DIR} mkdir -p ${VALISE_STATS_DIR}
echo "NB_OF_USERS_P="${NB_OF_USERS} >> ${VALISE_STATS_FILE} echo "NB_OF_USERS_P="${NB_OF_USERS} >> ${VALISE_STATS_FILE}
echo "NB_OF_FILES_P="${NB_OF_FILES} >> ${VALISE_STATS_FILE} echo "NB_OF_FILES_P="${NB_OF_FILES} >> ${VALISE_STATS_FILE}
echo "NB_OF_USER_FILES_P="${NB_OF_USER_FILES} >> ${VALISE_STATS_FILE}
echo "NB_OF_SHARES_P="${NB_OF_SHARES} >> ${VALISE_STATS_FILE} echo "NB_OF_SHARES_P="${NB_OF_SHARES} >> ${VALISE_STATS_FILE}
echo "USED_DISK_GB_P="${USED_DISK_GB} >> ${VALISE_STATS_FILE}
echo "USED_DISK_USER_GB_P="${USED_DISK_USER_GB} >> ${VALISE_STATS_FILE}
echo "FREE_DISK_GB_P="${FREE_DISK_GB} >> ${VALISE_STATS_FILE} echo "FREE_DISK_GB_P="${FREE_DISK_GB} >> ${VALISE_STATS_FILE}
echo "DATABASE_SIZE_MB_P="${DATABASE_SIZE_MB} >> ${VALISE_STATS_FILE} echo "DATABASE_SIZE_MB_P="${DATABASE_SIZE_MB} >> ${VALISE_STATS_FILE}
# Generate report # Generate report
echo "Rapport d'activité du service valise.chapril.org au "`date "+%-d %B %Y"` echo "Rapport d'activité du service valise.chapril.org au "`date "+%-d %B %Y"`
echo echo
echo "=================================================================" echo "================================================================="
echo echo
writeStatValue "Nombre d'utilisateurs" "" ${NB_OF_USERS} ${NB_OF_USERS_P} writeStatValue "Nombre d'utilisateurs" "" ${NB_OF_USERS} ${NB_OF_USERS_P}
writeStatValue "Nombre de fichiers" "" ${NB_OF_FILES} ${NB_OF_FILES_P} writeStatValue "Nombre total de fichiers" "" ${NB_OF_FILES} ${NB_OF_FILES_P}
writeStatValue "Nombre de fichiers utilisateurs" "" ${NB_OF_USER_FILES} ${NB_OF_USER_FILES_P}
writeStatValue "Nombre de partages" "" ${NB_OF_SHARES} ${NB_OF_SHARES_P} writeStatValue "Nombre de partages" "" ${NB_OF_SHARES} ${NB_OF_SHARES_P}
writeStatValue "Espace disque occupé total" "Go" ${USED_DISK_GB} ${USED_DISK_GB_P}
writeStatValue "Espace disque occupé par les utilisateurs" "Go" ${USED_DISK_USER_GB} ${USED_DISK_USER_GB_P}
writeStatValue "Espace disque disponible" "Go" ${FREE_DISK_GB} ${FREE_DISK_GB_P} writeStatValue "Espace disque disponible" "Go" ${FREE_DISK_GB} ${FREE_DISK_GB_P}
writeStatValue "Espace occupé par la base de données" "Mo" ${DATABASE_SIZE_MB} ${DATABASE_SIZE_MB_P} writeStatValue "Espace occupé par la base de données" "Mo" ${DATABASE_SIZE_MB} ${DATABASE_SIZE_MB_P}