#!/bin/bash
# info: backup all users
# options: NONE
#
# example: v-backup-users
#
# This function backups all system users.

#----------------------------------------------------------#
#                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"

# Perform verification if read-only mode is enabled
check_hestia_demo_mode

#----------------------------------------------------------#
#                       Action                             #
#----------------------------------------------------------#

# Auto-repair all databases before backuping all accounts
mysqlrepair --all-databases --check --auto-repair > /dev/null 2>&1

if [ -z "$BACKUP_SYSTEM" ]; then
	exit
fi
for user in $($BIN/v-list-sys-users plain); do
	check_suspend=$(grep "SUSPENDED='no'" $HESTIA/data/users/$user/user.conf)
	log=$HESTIA/log/backup.log
	if [ ! -f "$HESTIA/data/users/$user/user.conf" ]; then
		continue
	fi
	check_backup_conditions
	check_suspend=$(grep "SUSPENDED='no'" $HESTIA/data/users/$user/user.conf)
	log=$HESTIA/log/backup.log
	if [ -n "$check_suspend" ]; then
		echo -e "================================" >> $log
		echo -e "$user" >> $log
		echo -e "--------------------------------\n" >> $log
		nice -n 19 ionice -c2 -n7 $BIN/v-backup-user $user >> $log 2>&1
		echo -e "\n--------------------------------\n\n" >> $log
	fi
done

#----------------------------------------------------------#
#                       Hestia                             #
#----------------------------------------------------------#

exit