| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- #!/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
|