403Webshell
Server IP : 202.61.199.114  /  Your IP : 216.73.217.139
Web Server : nginx/1.22.1
System : Linux de.arni-solutions.de 6.1.0-49-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64
User : web20 ( 1018)
PHP Version : 8.4.23
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/crons/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/crons/auto_backup.sh
#!/bin/bash

declare -a weblist dbase

backupType="$1"
backupPass="J:xn\T=+P!K|r;V_O2i2"
webfolders="/var/www/"
vhostfolder="/etc/nginx/sites-available/"

# auto delete these files
filelist=(readme.html license.txt liesmich.html wp-config-sample.php)
datebkp="$(date '+%Y%m%d-%H%M')"

DIRS=$'\n' read -d '' -r -a weblist <<< "$(find ${webfolders} -maxdepth 1 -type l -printf "%f\n")"


echo "RESULTS FOR: $HOSTNAME"   


for domain in "${weblist[@]}"
    do echo "# $domain"
    
    domainFull="${webfolders}${domain}/web/"
    configFile="${domainFull}wp-config.php"
    backupFolder="${webfolders}${domain}/private/"
    
    if [[ -f "${configFile}" ]]
    then
    
        # delete WordPress default files
        for file in "${filelist[@]}"; do if [ -f "${domainFull}$file" ]; then rm -f --interactive=never "${domainFull}$file" && echo "$(date +'%Y-%m-%d %H:%M:%S') - deleted ${domainFull}$file"; fi; done
    
        # create temporary folder for backup files
        if [[ ! -d "${backupFolder}/misc" ]]; then mkdir "${backupFolder}/misc"; fi
        
        storageFolderMisc="~/storage/Webserver/${HOSTNAME}/${domain}/misc"
        storageFolderWeb="~/storage/Webserver/${HOSTNAME}/${domain}/web"
                
        IFS=$'\n' read -d '' -r -a dbase <<< "$(php -d display_errors=off -r 'include("'${configFile}'"); print DB_NAME . "\n" . DB_USER . "\n" . DB_PASSWORD . "\n" . DB_HOST;')"
        printf "WEBSITE: ${domain}\nSERVER: $HOSTNAME\n\nDB_NAME: ${dbase[0]}\nDB_USER: ${dbase[1]}\nDB_PASS: ${dbase[2]}\nDB_HOST: ${dbase[3]}\n\ngunzip < database.sql.gz | mysql --user=${dbase[1]} --password=${dbase[2]} ${dbase[0]}" > "${backupFolder}misc/mysql_access.txt"
        printf '#!/bin/bash\n\ngunzip < database.sql.gz | mysql --user='"${dbase[1]}"' --password='"${dbase[2]}"' '"${dbase[0]}"'\nif [ "$?" -eq 0 ]\nthen\n\techo "import was successful"\nelse\n\techo "import failed"; printf "'"\\\n"'"\n\n\tread -p "Enter MySQL User: " mysql_user\n\tread -sp "Enter MySQL Password: " mysql_pass; printf "'"\\\n"'"\n\tread -p "Enter MySQL Database: " mysql_dbase; printf "'"\\\n"'"\n\n\tgunzip < database.sql.gz | mysql --user="${mysql_user}" --password="${mysql_pass}" "${mysql_dbase}"\n\tif [ "$?" -eq 0 ]; then echo "import was successful"; else echo "ERROR: import aborted"; exit 1; fi;\nfi' > "${backupFolder}misc/import.sh"
        
        # set rights to run this script in cli
        chmod +x "${backupFolder}misc/import.sh"
        
        # copy vhost
        if [[ -f "${vhostfolder}${domain}.vhost" ]]; then cp "${vhostfolder}${domain}.vhost" "${backupFolder}misc/${domain}.vhost"; fi
        
        mysqldump -u "${dbase[1]}" -p"${dbase[2]}" "${dbase[0]}" | gzip > "${backupFolder}misc/database.sql.gz"
        ssh st20897@storage.cloud.pacim.de "mkdir -p ${storageFolderMisc}"
        
        # Verschlüsseltes Archiv erstellen
        7z a -mhe=on "${backupFolder}${datebkp}_misc.7z" "${backupFolder}misc/*" -p"${backupPass}"
        scp -r "${backupFolder}${datebkp}_misc.7z" st20897@storage.cloud.pacim.de:"${storageFolderMisc}"
        
        if [[ "${backupType}" = "FULL" ]]
        then
            7z a -mhe=on "${backupFolder}${datebkp}_web.7z" "${webfolders}${domain}/web/*" -p"${backupPass}"
            ssh st20897@storage.cloud.pacim.de "mkdir -p ${storageFolderWeb}"
            scp -r "${backupFolder}${datebkp}_web.7z" st20897@storage.cloud.pacim.de:"${storageFolderWeb}"
        fi
        
        # Backup Files löschen
        if [ ! -z "${backupFolder}" ]; then cd "${backupFolder}" && rm -r *; fi
    fi
done

Youez - 2016 - github.com/yon3zu
LinuXploit