HEX
Server: CentOS WebPanel: Protected by Mod Security
System: Linux sites.annaiservers.com 3.10.0-1160.118.1.el7.x86_64 #1 SMP Wed Apr 24 16:01:50 UTC 2024 x86_64
User: freeval (1012)
PHP: 8.1.10
Disabled: NONE
Upload Files
File: //scripts/user_backup
#!/bin/bash
#
# BACKUP SCRIPT FOR USER FILES AND MYSQL DATABASES
# http://centos-webpanel.com
#
#

USERNAME=$1
BKPDATE=`date +%F`
GETHOMEDIR=`grep $USERNAME /etc/passwd|awk -F: {'print $6'}`
#QUERYCODE="SELECT User FROM mysql.user where User like \""$USERNAME"_%\""
QUERYCODE="show databases like \""$USERNAME"_%\""
#MYSQLPWD=`grep password= /root/.my.cnf|awk -F= {'print $2'}`

if [ ! -e "$GETHOMEDIR/backups"  ];then
	mkdir -p "$GETHOMEDIR"/backups
	chown "$USERNAME.$USERNAME" "$GETHOMEDIR"/backups
fi

if [ ! -e "$GETHOMEDIR/backups/mysql"  ];then
        mkdir -p "$GETHOMEDIR"/backups/mysql
        chown "$USERNAME.$USERNAME" "$GETHOMEDIR"/backups/mysql
fi

if [ ! -e "$GETHOMEDIR/backups/mysql/$BKPDATE"  ];then
        mkdir -p "$GETHOMEDIR/backups/mysql/$BKPDATE"
        chown "$USERNAME.$USERNAME" "$GETHOMEDIR/backups/mysql/$BKPDATE"
fi

# MySQL Backup
for i in `mysql --defaults-extra-file=/root/.my.cnf --skip-column-names -e "$QUERYCODE" -B`; do mysqldump --defaults-extra-file=/root/.my.cnf $i | gzip > "$GETHOMEDIR/backups/mysql/$BKPDATE/$i".sql.gz; chown "$USERNAME.$USERNAME" "$GETHOMEDIR/backups/mysql/$BKPDATE/$i".sql.gz;done

# Files Backup
su "$USERNAME" -c "cd $GETHOMEDIR;nice -n 19 tar -pczf backups/"$BKPDATE"_"$USERNAME".tar.gz * --exclude 'backups'" -s "/bin/bash"