You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							63 lines
						
					
					
						
							2.3 KiB
						
					
					
				
			
		
		
	
	
							63 lines
						
					
					
						
							2.3 KiB
						
					
					
				#!/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
 |