Files
2026-04-27 22:14:32 +00:00

51 lines
2.1 KiB
Bash

#!/bin/bash
clear
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 --add-drop-database --complete-insert --routines --triggers --single-transaction "$dbname" | gzip > "./dbs/$dbname.sql.gz"; done
sudo mysqldump --all-databases --add-drop-database --complete-insert --routines --triggers --single-transaction | gzip > "$n-$d.sql.gz" | progress -m
echo "FINISHED DUMPING SQL FILES."
echo "COMPRESSING FILES TO 7Z ACHIVES..."
#sudo 7z a $n-$d-sql.7z ./dbs/*
sudo 7z a $n-$d-sql.7z $n-$d.sql.gz
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/cockpit/
sudo 7z a $n-$d-etc.7z /etc/letsencrypt/
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-var-snap.7z /var/snap/gitea/
sudo 7z a $n-$d.7z $n-$d-www.7z $n-$d-sql.7z $n-$d-etc.7z $n-$d-ejabberd.7z $n-$d-var-snap.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 -R www-data:www-data /var/www/html/-bkp/*
#rm -rf dbs
sudo rm -rf $n-$d-www.7z $n-$d.sql.gz $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 $n-$d-var-snap.7z
echo "SERVER BACKUP FINISHED."