Initial
This commit is contained in:
62
bin/v-update-sys-queue
Executable file
62
bin/v-update-sys-queue
Executable file
@@ -0,0 +1,62 @@
|
||||
#!/bin/bash
|
||||
# info: update system queue
|
||||
# options: PIPE
|
||||
#
|
||||
# example: v-update-sys-queue
|
||||
#
|
||||
# This function is responsible queue processing. Restarts of services,
|
||||
# scheduled backups, web log parsing and other heavy resource consuming
|
||||
# operations are handled by this script. It helps to optimize system behaviour.
|
||||
# In a nutshell Apache will be restarted only once even if 10 domains are
|
||||
# added or deleted.
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Variables & Functions #
|
||||
#----------------------------------------------------------#
|
||||
# Argument definition
|
||||
queue=$1
|
||||
|
||||
# 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"
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Verifications #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
check_args '1' "$#" 'QUEUE'
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Action #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
b_task=$(ps auxf | grep -v "grep" | grep "$BIN/v-update-sys-queue backup")
|
||||
b_task=$(echo "$b_task" | grep -v sudo | wc -l)
|
||||
d_task=$(ps auxf | grep -v "grep" | grep "$BIN/v-update-sys-queue dns")
|
||||
d_task=$(echo "$d_task" | grep -v sudo | wc -l)
|
||||
if [ "$b_task" -gt 2 ] || [ "$d_task" -gt 2 ]; then
|
||||
exit
|
||||
fi
|
||||
|
||||
# Defining pipe functions
|
||||
case $queue in
|
||||
restart) bash $HESTIA/data/queue/$queue.pipe > /dev/null 2>&1 ;;
|
||||
webstats) bash $HESTIA/data/queue/$queue.pipe > /dev/null 2>&1 ;;
|
||||
backup) bash $HESTIA/data/queue/$queue.pipe > /dev/null 2>&1 ;;
|
||||
disk) bash $HESTIA/data/queue/$queue.pipe > /dev/null 2>&1 ;;
|
||||
daily) bash $HESTIA/data/queue/$queue.pipe > /dev/null 2>&1 ;;
|
||||
traffic) bash $HESTIA/data/queue/$queue.pipe > /dev/null 2>&1 ;;
|
||||
dns-cluster) bash $HESTIA/data/queue/$queue.pipe > /dev/null 2>&1 ;;
|
||||
letsencrypt) bash $HESTIA/data/queue/$queue.pipe > /dev/null 2>&1 ;;
|
||||
*) check_args '1' '0' 'QUEUE' ;;
|
||||
esac
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Hestia #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
exit
|
||||
Reference in New Issue
Block a user