System-Backup/system-backup

68 lines
2.2 KiB
Plaintext
Raw Normal View History

2021-01-06 21:08:40 +01:00
#!/bin/bash
2021-01-07 00:09:29 +01:00
# Show help page
2021-01-06 21:08:40 +01:00
if [ "$1" = "-h" ]
then
2021-01-07 00:09:29 +01:00
echo "system-backup <option>"
2021-01-06 21:08:40 +01:00
echo
echo "If no options are specified it will use default"
echo
echo "Options:"
echo
2021-01-07 00:09:29 +01:00
#echo "-d [USB Dir]"
echo
2021-01-06 21:08:40 +01:00
echo
exit 0
fi
2021-01-07 00:09:29 +01:00
# 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
2021-01-06 22:33:41 +01:00
2021-01-07 00:09:29 +01:00
# Initialize variables
2021-01-07 14:03:34 +01:00
#backup_dir="/mnt/USB/Backup/"$(date +'%Y/%m/%d')
2021-01-07 00:09:29 +01:00
backup_dir_remote="/media/backup/"$(date +'%Y/%m/%d')
nextcloud_dir="/var/www/nextcloud"
2021-01-07 15:21:56 +01:00
remote_ip="192.168.178."
2021-01-07 00:09:29 +01:00
# Back the fuck up bro...
# Shuting down services for backup
cd $nextcloud_dir
sudo -u www-data php occ maintenance:mode --on
2021-01-07 14:03:34 +01:00
sudo serive apache2 stop
2021-01-07 00:09:29 +01:00
sudo mysqldump --single-transaction nextcloud > /tmp/mysqldump/nextcloud.sql
2021-01-07 00:52:31 +01:00
sudo mkdir /tmp/gitea-dump
sudo chown -R git:git /tmp/gitea-dump/
sudo -u git /usr/local/bin/gitea dump --config /etc/gitea/app.ini --file "/tmp/gitea-dump/backup.zip" --tempdir "/tmp/gitea-dump"
2021-01-07 14:03:34 +01:00
# Create rote directory
2021-01-07 00:52:31 +01:00
sudo ssh backup@$remote_ip sudo mkdir -p $backup_dir_remote/gitea mkdir $backup_dir_remote/nextcloud mkdir $backup_dir_remote/mysql
2021-01-07 14:03:34 +01:00
# copy the shit over
2021-01-07 15:21:56 +01:00
sudo screen -dmS backup -t backup bash -c "rsync -Aavr --progress -e ssh $nextcloud_dir backup-user@$remote_ip:$backup_dir_remote/nextcloud;
2021-01-07 00:09:29 +01:00
rsync -Aavr --progress -e ssh /tmp/nextcloud.sql backup-user@$remote_ip:$backup_dir_remote/mysql/;
2021-01-07 00:52:31 +01:00
rsync -Aavr --progress -e ssh /tmp/gitea-dump/backup.zip backup-user@$remote_ip:$backup_dir_remote/gitea/"
2021-01-07 00:09:29 +01:00
2021-01-07 14:03:34 +01:00
# Start back up
sudo service apache2 start
cd $nextcloud_dir
# Prompt user if maintenance mode should stay enabled
#
# while true; do
# read -p "Do you wish to leave maintenace mode enabled?" yn
# case $yn in
# [Yy]* ) exit;;
# [Nn]* ) sudo -u www-data php occ maintenance:mode --off;;
# * ) echo "Please answer yes or no.";;
# esac
# done
2021-01-07 00:52:31 +01:00
2021-01-07 14:03:34 +01:00
sudo -u www-data php occ maintenance:mode --off