Initial
This commit is contained in:
134
bin/v-update-sys-rrd
Executable file
134
bin/v-update-sys-rrd
Executable file
@@ -0,0 +1,134 @@
|
||||
#!/bin/bash
|
||||
# info: update system rrd charts
|
||||
# options: NONE
|
||||
#
|
||||
# example: v-update-sys-rrd
|
||||
#
|
||||
# This function is wrapper for all rrd functions. It updates all
|
||||
# v-update-sys-rrd_* at once.
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Variables & Functions #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
# Includes
|
||||
# shellcheck source=/etc/hestiacp/hestia.conf
|
||||
source /etc/hestiacp/hestia.conf
|
||||
# shellcheck source=/usr/local/hestia/func/main.sh
|
||||
source $HESTIA/func/main.sh
|
||||
# load config file
|
||||
source_conf "$HESTIA/conf/hestia.conf"
|
||||
|
||||
# Checking rrddir
|
||||
if [ ! -d "$RRD" ]; then
|
||||
mkdir -p $RRD
|
||||
fi
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Action #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
# Checking daily period
|
||||
if [ -e "$RRD/daily.rrd" ]; then
|
||||
mtime=$(stat -c "%Y" $RRD/daily.rrd)
|
||||
ctime=$(date +%s)
|
||||
dtime=$((ctime - mtime))
|
||||
# Update every 5 minute
|
||||
if [ "$dtime" -gt '290' ]; then
|
||||
touch $RRD/daily.rrd
|
||||
periods="$periods daily"
|
||||
fi
|
||||
else
|
||||
touch $RRD/daily.rrd
|
||||
periods="$periods daily"
|
||||
fi
|
||||
|
||||
# Checking weekly period
|
||||
if [ -e "$RRD/weekly.rrd" ]; then
|
||||
mtime=$(stat -c "%Y" $RRD/weekly.rrd)
|
||||
ctime=$(date +%s)
|
||||
dtime=$((ctime - mtime))
|
||||
# Update every hour
|
||||
if [ "$dtime" -gt '3590' ]; then
|
||||
touch $RRD/weekly.rrd
|
||||
periods="$periods weekly"
|
||||
fi
|
||||
else
|
||||
touch $RRD/weekly.rrd
|
||||
periods="$periods weekly"
|
||||
fi
|
||||
|
||||
# Checking monthly period
|
||||
if [ -e "$RRD/monthly.rrd" ]; then
|
||||
mtime=$(stat -c "%Y" $RRD/monthly.rrd)
|
||||
ctime=$(date +%s)
|
||||
dtime=$((ctime - mtime))
|
||||
# Update every 6 hours
|
||||
if [ "$dtime" -gt '21590' ]; then
|
||||
touch $RRD/monthly.rrd
|
||||
periods="$periods monthly"
|
||||
fi
|
||||
else
|
||||
touch $RRD/monthly.rrd
|
||||
periods="$periods monthly"
|
||||
fi
|
||||
|
||||
# Checking yearly period
|
||||
if [ -e "$RRD/yearly.rrd" ]; then
|
||||
mtime=$(stat -c "%Y" $RRD/yearly.rrd)
|
||||
ctime=$(date +%s)
|
||||
dtime=$((ctime - mtime))
|
||||
# Update every 12 hours
|
||||
if [ "$dtime" -gt '43190' ]; then
|
||||
touch $RRD/yearly.rrd
|
||||
periods="$periods yearly"
|
||||
fi
|
||||
else
|
||||
touch $RRD/yearly.rrd
|
||||
periods="$periods yearly"
|
||||
fi
|
||||
|
||||
# Updateing system stats
|
||||
for period in $periods; do
|
||||
|
||||
$BIN/v-update-sys-rrd-la "$period" > /dev/null 2>&1
|
||||
$BIN/v-update-sys-rrd-net "$period" > /dev/null 2>&1
|
||||
$BIN/v-update-sys-rrd-mem "$period" > /dev/null 2>&1
|
||||
$BIN/v-update-sys-rrd-ssh "$period" > /dev/null 2>&1
|
||||
|
||||
# Updating web stats
|
||||
if [ -n "$WEB_SYSTEM" ]; then
|
||||
$BIN/v-update-sys-rrd-$WEB_SYSTEM "$period" > /dev/null 2>&1
|
||||
fi
|
||||
|
||||
if [ -n "$PROXY_SYSTEM" ]; then
|
||||
$BIN/v-update-sys-rrd-$PROXY_SYSTEM "$period" > /dev/null 2>&1
|
||||
fi
|
||||
|
||||
# Updating mail stats
|
||||
if [ -n "$MAIL_SYSTEM" ] && [ "$MAIL_SYSTEM" != 'no' ]; then
|
||||
$BIN/v-update-sys-rrd-mail "$period" > /dev/null 2>&1
|
||||
fi
|
||||
|
||||
# Updating ftp stats
|
||||
if [ -n "$FTP_SYSTEM" ] && [ "$FTP_SYSTEM" != 'no' ]; then
|
||||
$BIN/v-update-sys-rrd-ftp "$period" > /dev/null 2>&1
|
||||
fi
|
||||
|
||||
# Updating db stats
|
||||
if [ -n "$DB_SYSTEM" ] && [ "$DB_SYSTEM" != 'no' ]; then
|
||||
for type in ${DB_SYSTEM//,/ }; do
|
||||
# Switching on db type
|
||||
case $type in
|
||||
mysql) $BIN/v-update-sys-rrd-mysql "$period" > /dev/null 2>&1 ;;
|
||||
pgsql) $BIN/v-update-sys-rrd-pgsql "$period" > /dev/null 2>&1 ;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
done
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Hestia #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
exit
|
||||
Reference in New Issue
Block a user