58 lines
1.7 KiB
Bash
58 lines
1.7 KiB
Bash
#!/bin/bash
|
|
|
|
# Show help page
|
|
if [ "$1" = "-h" ]
|
|
then
|
|
echo "system-backup <option>"
|
|
echo
|
|
echo "If no options are specified it will use default"
|
|
echo
|
|
echo "Options:"
|
|
echo
|
|
#echo "-d [USB Dir]"
|
|
echo
|
|
echo
|
|
exit 0
|
|
fi
|
|
|
|
# if [ "$1" = "-d" ]
|
|
# then
|
|
# sudo mount "$2"
|
|
# sudo mkdir -p $backup_dir"/nextcloud"
|
|
# sudo mkdir $backup_dir"/mysql"
|
|
# sudo mkdir $backup_dir"/gitea"
|
|
# sudo screen -dmS backup -t backup rsync -Aav --progress $nextcloud_dir/ $backup_dir"/nextcloud"
|
|
# else
|
|
# sudo mount /dev/sdb0
|
|
# sudo mkdir /mnt/USB/Backup-whole-System/
|
|
# sudo screen -dmS backup -t backup
|
|
# fi
|
|
|
|
# Initialize variables
|
|
backup_dir="/mnt/USB/Backup/"$(date +'%Y/%m/%d')
|
|
backup_dir_remote="/media/backup/"$(date +'%Y/%m/%d')
|
|
nextcloud_dir="/var/www/nextcloud"
|
|
gitea_dir="/var/"
|
|
remote_ip="192.168.178.48"
|
|
|
|
# Back the fuck up bro...
|
|
# Shuting down services for backup
|
|
cd $nextcloud_dir
|
|
sudo -u www-data php occ maintenance:mode --on
|
|
sudo apache2 stop
|
|
sudo mysqldump --single-transaction nextcloud > /tmp/mysqldump/nextcloud.sql
|
|
cd /usr/local/bin
|
|
sudo -u git ./gitea dump -c /etc/gitea/app.ini
|
|
|
|
sudo ssh backup@$remote_ip sudo mkdir -p $backup_dir_remote
|
|
|
|
sudo screen -dmS backup -t backup bash -c "rsync -Aavr --progress -e ssh $nextcloud_dir backup-user@$remote_ip:$backup_dir_remote/nextcloud;
|
|
rsync -Aavr --progress -e ssh $gitea_dir backup-user@$remote_ip:$backup_dir_remote/gitea;
|
|
rsync -Aavr --progress -e ssh /tmp/nextcloud.sql backup-user@$remote_ip:$backup_dir_remote/mysql/;
|
|
rsync -Aavr --progress -e ssh /tmp/gitea.sql backup-user@$remote_ip:$backup_dir_remote/mysql/"
|
|
|
|
#To-Do
|
|
# gitea dump permissions
|
|
# rsync test
|
|
# cleanup
|
|
# starting back up |