#!/bin/bash d=$(date +%Y%m%d) echo "SERVER BACKUP" echo "SERVER NAME:" read n #echo "DATE CODE:" #read d echo "BACKING UP SERVER..." echo "DUMPING SQL FILES..." mkdir dbs sudo mysql -N -e 'show databases' | while read dbname; do sudo mysqldump --complete-insert --routines --triggers --single-transaction "$dbname" | gzip > "./dbs/$dbname.sql.gz"; done echo "FINISHED DUMPING SQL FILES." echo "COMPRESSING FILES TO 7Z ACHIVES..." 7z a $n-$d-sql.7z ./dbs/* sudo 7z a $n-$d-www.7z /var/www/html/* sudo 7z a $n-$d-etc.7z /etc/apache2/ sudo 7z a $n-$d-etc.7z /etc/mysql/ sudo 7z a $n-$d-etc.7z /etc/php/ sudo 7z a $n-$d-etc.7z /etc/phpmyadmin/ sudo 7z a $n-$d-etc.7z /etc/ufw/ sudo 7z a $n-$d-etc.7z /etc/fail2ban/ sudo 7z a $n-$d-etc.7z /etc/portsentry/ sudo 7z a $n-$d-etc.7z /etc/snort/ sudo 7z a $n-$d-etc.7z /etc/suricata/ sudo 7z a $n-$d-etc.7z /etc/dnsmasq.d/ sudo 7z a $n-$d-etc.7z /etc/hosts sudo 7z a $n-$d-etc.7z /etc/mumble-server.ini sudo 7z a $n-$d-etc-ejabberd.7z /etc/ejabberd/ sudo 7z a $n-$d-opt-ejabberd.7z /opt/ejabberd/ sudo 7z a $n-$d-var-lib-ejabberd.7z /var/lib/ejabberd/ sudo 7z a $n-$d-ejabberd.7z $n-$d-etc-ejabberd.7z $n-$d-opt-ejabberd.7z $n-$d-var-lib-ejabberd.7z sudo 7z a $n-$d.7z $n-$d-www.7z $n-$d-sql.7z $n-$d-etc.7z $n-$d-ejabberd.7z echo "FINISHED COMPRESSING FILES TO 7Z ARCHIVES." echo "MOVING FILES..." sudo mkdir /var/www/html/-bkp/ sudo mv $n-$d.7z /var/www/html/-bkp/ echo "FINSISHED MOVING FILES." echo "CLEANING UP..." sudo chown www-data:www-data /var/www/html/-bkp/ sudo chown www-data:www-data /var/www/html/-bkp/* rm -r dbs sudo rm $n-$d-www.7z $n-$d-sql.7z $n-$d-etc.7z $n-$d-ejabberd.7z $n-$d-etc-ejabberd.7z $n-$d-opt-ejabberd.7z $n-$d-var-lib-ejabberd.7z echo "SERVER BACKUP FINISHED."