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.
57 lines
1.8 KiB
57 lines
1.8 KiB
#!/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
|