87 lines
3.0 KiB
Plaintext
87 lines
3.0 KiB
Plaintext
|
#!/bin/bash
|
||
|
# Primary backup script containing incremental backup commands.
|
||
|
|
||
|
# More comments will be added in the future.
|
||
|
|
||
|
# Backup Script
|
||
|
|
||
|
version="v0.1.0-a.1"
|
||
|
|
||
|
# Add "-a" flag between "--bwlimit=1000" and "--backup" for async (higher CPU usage).
|
||
|
|
||
|
# Color-Coding
|
||
|
|
||
|
white='\e[0;37m'
|
||
|
green='\e[0;32m'
|
||
|
yellow='\e[0;33m'
|
||
|
red='\e[0;31m'
|
||
|
|
||
|
echo -e "${white}"
|
||
|
|
||
|
echo -e "${yellow}Running ${green}${version}${white}\n"
|
||
|
|
||
|
# Remove Existing Archives
|
||
|
|
||
|
echo -e "${yellow}Removing old archives.${white}\n"
|
||
|
|
||
|
sudo rm /path/to/service/services.7z
|
||
|
sudo rm /path/to/service/services.7z.*
|
||
|
|
||
|
sudo rm /var/www/html.7z
|
||
|
sudo rm /var/www/html.7z.*
|
||
|
|
||
|
sudo rm /opt/opt.7z
|
||
|
sudo rm /opt/opt.7z.*
|
||
|
|
||
|
echo -e "\n${green}Finished.${white}\n"
|
||
|
|
||
|
# Incremental Backups
|
||
|
|
||
|
echo -e "${yellow}Creating backup archives.${white}\n"
|
||
|
|
||
|
cd /path/to/service
|
||
|
sudo nice -n11 ionice --class 2 7zz a services
|
||
|
|
||
|
sudo nice -n11 ionice --class 2 rsync --bwlimit=1000 -a --backup --whole-file --suffix=`date +'.%F_%H-%M'` /path/to/service/services.7z /path/to/backups/path/to/service.7z
|
||
|
|
||
|
#cd /var/www/html
|
||
|
#sudo nice -n11 ionice --class 2 sudo 7zz a html
|
||
|
#sudo nice -n11 ionice --class 2 rsync --bwlimit=1000 -a --backup --whole-file --suffix=`date +'.%F_%H-%M'` /var/www/html/html.7z /path/to/backups/var/www/html.7z
|
||
|
|
||
|
cd /opt
|
||
|
sudo nice -n11 ionice --class 2 7zz a opt
|
||
|
sudo nice -n11 ionice --class 2 rsync --bwlimit=1000 -a --backup --whole-file --suffix=`date +'.%F_%H-%M'` /opt/opt.7z /path/to/backups/opt.7z
|
||
|
|
||
|
sudo nice -n11 ionice --class 2 sudo rsync -rtDvz /var/spool/cron root/backup/var/spool/cron
|
||
|
sudo nice -n11 ionice --class 2 sudo rsync -rtDvz /etc/fstab root/backup/etc/fstab
|
||
|
sudo nice -n11 ionice --class 2 sudo rsync -rtDvz /etc/sudoers root/backup/etc/sudoers
|
||
|
sudo nice -n11 ionice --class 2 sudo rsync -rtDvz /etc/apt/sources.list /path/to/backups/etc/apt
|
||
|
|
||
|
# Full Backups
|
||
|
|
||
|
sudo nice -n11 ionice --class 2 rsync --bwlimit=1000 -a --backup --whole-file --suffix=`date +'.%F_%H-%M'` /path/to/service/services.7z /path/to/full-backups/path/to/service.7z
|
||
|
sudo nice -n11 ionice --class 2 rsync --bwlimit=1000 -a --backup --whole-file --suffix=`date +'.%F_%H-%M'` /var/www/html/html.7z /path/to/full-backups/var/www/html.7z
|
||
|
sudo nice -n11 ionice --class 2 rsync --bwlimit=1000 -a --backup --whole-file --suffix=`date +'.%F_%H-%M'` /opt/opt.7z /path/to/backups/opt.7z
|
||
|
|
||
|
sudo nice -n11 ionice --class 2 sudo rsync -rtDvz /var/spool/cron /path/to/full-backups/var/spool/cron
|
||
|
sudo nice -n11 ionice --class 2 sudo rsync -rtDvz /etc/fstab /path/to/full-backups/etc/fstab
|
||
|
sudo nice -n11 ionice --class 2 sudo rsync -rtDvz /etc/sudoers /path/to/full-backups/etc/sudoers
|
||
|
sudo nice -n11 ionice --class 2 sudo rsync -rtDvz /etc/apt/sources.list /path/to/full-backups/etc/apt
|
||
|
|
||
|
echo -e "\n${green}Complete.${white}\n"
|
||
|
|
||
|
# Remove Leftovers
|
||
|
|
||
|
echo -e "${yellow}Removing leftovers.${white}\n"
|
||
|
|
||
|
sudo rm /path/to/service/services.7z
|
||
|
sudo rm /path/to/service/services.7z.*
|
||
|
|
||
|
sudo rm /var/www/html.7z
|
||
|
sudo rm /var/www/html.7z.*
|
||
|
|
||
|
sudo rm /opt/opt.7z
|
||
|
sudo rm /opt/opt.7z.*
|
||
|
|
||
|
echo -e "\n${green}Complete.${white}\n"
|