RaveOS-arch/backup-raveos.sh

131 lines
6.7 KiB
Bash
Raw Normal View History

#!/bin/bash
2025-02-05 20:08:00 +00:00
# Text modifiers
bold=$(tput bold) # ${bold}
normal=$(tput sgr0) # ${normal}
yellow=$(tput setaf 3) # ${yellow}
zenity --info --title='Please pick a folder!' --text='Choose a folder!' --width='300' --height='100'
# Folder variable
FOLDER=$(zenity --file-selection --title="Choose a backup directory" --directory)
if [[ $? -eq 1 ]]; then
echo You did not pick a ${bold}${yellow}folder.${normal} Exiting!
exit 1
else
echo Backups will be saved into: ${bold}${yellow}$FOLDER${normal}
fi
# Options input
2025-02-05 18:17:59 +00:00
user_choice=$(zenity --list --checklist --width='600' --height='400' \
--title="Backup script by RavePriest1" \
--text="Select from the options below" \
--column="Select" --column="Name" \
2025-02-04 19:27:21 +00:00
FALSE "BACKUP All of My Data and Settings" \
FALSE "RESTORE All of My Data and Settings")
if [[ $? -eq 1 ]]; then
echo You did not pick an ${bold}${yellow}option.${normal} Exiting!
exit 1
fi
2025-02-04 19:27:21 +00:00
if [[ $user_choice = *"BACKUP All of My Data and Settings"* ]]; then
2025-02-05 18:43:58 +00:00
cd
echo
echo -----------------------------------------------------
2025-02-04 20:28:11 +00:00
echo Copying ${bold}${yellow}$USER Settings and Files${normal} into ${bold}${yellow}$FOLDER/${normal}
2025-02-04 19:27:21 +00:00
# GNOME SECTION
2025-02-05 19:59:07 +00:00
dconf dump / > $USER-ui
2025-02-04 19:27:21 +00:00
# HU lang
2025-02-05 20:01:50 +00:00
#rsync -ap --info=progress2 /home/$USER/Asztal/ $FOLDER/
#rsync -ap --info=progress2 /home/$USER/Dokumentumok/ $FOLDER/
#rsync -ap --info=progress2 /home/$USER/Letöltések/ $FOLDER/
#rsync -ap --info=progress2 /home/$USER/Zenék/ $FOLDER/
#rsync -ap --info=progress2 /home/$USER/Képek/ $FOLDER/
#rsync -ap --info=progress2 /home/$USER/Videók/ $FOLDER/
2025-02-04 19:27:21 +00:00
# EN lang
2025-02-05 20:23:50 +00:00
rsync -ap --info=progress2 Desktop $FOLDER 2>/dev/null
rsync -ap --info=progress2 Documents $FOLDER 2>/dev/null
rsync -ap --info=progress2 Downloads $FOLDER 2>/dev/null
rsync -ap --info=progress2 Music $FOLDER 2>/dev/null
rsync -ap --info=progress2 Pictures $FOLDER 2>/dev/null
rsync -ap --info=progress2 Videos $FOLDER 2>/dev/null
2025-02-04 19:27:21 +00:00
2025-02-05 20:36:50 +00:00
rsync -ap --info=progress2 /home/$USER/Games/ $FOLDER 2>/dev/null
rsync -ap --info=progress2 /home/$USER/.librewolf $FOLDER 2>/dev/null
mkdir -p $FOLDER/.config 2>/dev/null
rsync -ap --info=progress2 /home/$USER/.config/Bitwarden $FOLDER/.config 2>/dev/null
rsync -ap --info=progress2 /home/$USER/.config/heroic $FOLDER/.config 2>/dev/null
rsync -ap --info=progress2 /home/$USER/.config/input-remapper-2 $FOLDER/.config 2>/dev/null
rsync -ap --info=progress2 /home/$USER/.config/Mumble $FOLDER/.config 2>/dev/null
rsync -ap --info=progress2 /home/$USER/.config/libvirt $FOLDER/.config 2>/dev/null
sudo rsync -ap --info=progress2 /etc/libvirt $FOLDER/.config 2>/dev/null
rsync -ap --info=progress2 /home/$USER/.config/corectrl $FOLDER/.config 2>/dev/null
rsync -ap --info=progress2 /home/$USER/.config/corectrl.ini $FOLDER/.config 2>/dev/null
rsync -ap --info=progress2 /home/$USER/.config/vivaldi $FOLDER/.config 2>/dev/null
rsync -ap --info=progress2 /home/$USER/.config/BraveSoftware $FOLDER/.config 2>/dev/null
rsync -ap --info=progress2 /home/$USER/.config/FreeTube $FOLDER/.config 2>/dev/null
rsync -ap --info=progress2 /home/$USER/.config/dosbox-x $FOLDER/.config 2>/dev/null
rsync -ap --info=progress2 /home/$USER/.config/pavucontrol.ini $FOLDER/.config 2>/dev/null
rsync -ap --info=progress2 /home/$USER/.config/keepassxc $FOLDER/.config 2>/dev/null
rsync -ap --info=progress2 /home/$USER/.config/spotify $FOLDER/.config 2>/dev/null
rsync -ap --info=progress2 /home/$USER/.config/spotube $FOLDER/.config 2>/dev/null
rsync -ap --info=progress2 /home/$USER/.config/qBittorrent $FOLDER/.config 2>/dev/null
rsync -ap --info=progress2 /home/$USER/.config/kdeglobals $FOLDER/.config 2>/dev/null
rsync -ap --info=progress2 /home/$USER/.config/kdenliverc $FOLDER/.config 2>/dev/null
rsync -ap --info=progress2 /home/$USER/.config/kdenlive-layoutsrc $FOLDER/.config 2>/dev/null
rsync -ap --info=progress2 /home/$USER/.config/Signal $FOLDER/.config 2>/dev/null
rsync -ap --info=progress2 /home/$USER/.config/discord $FOLDER/.config 2>/dev/null
rsync -ap --info=progress2 /home/$USER/.config/Vencord $FOLDER/.config 2>/dev/null
rsync -ap --info=progress2 /home/$USER/.config/goverlay $FOLDER/.config 2>/dev/null
rsync -ap --info=progress2 /home/$USER/.config/MangoHud $FOLDER/.config 2>/dev/null
rsync -ap --info=progress2 /home/$USER/.config/easyeffects $FOLDER/.config 2>/dev/null
rsync -ap --info=progress2 /home/$USER/.config/mc $FOLDER/.config 2>/dev/null
rsync -ap --info=progress2 /home/$USER/.config/doublecmd $FOLDER/.config 2>/dev/null
rsync -ap --info=progress2 /home/$USER/.config/monophony $FOLDER/.config 2>/dev/null
rsync -ap --info=progress2 /home/$USER/.config/pamac $FOLDER/.config 2>/dev/null
rsync -ap --info=progress2 /home/$USER/.config/kdeconnect $FOLDER/.config 2>/dev/null
rsync -ap --info=progress2 /home/$USER/.config/Helvum $FOLDER/.config 2>/dev/null
rsync -ap --info=progress2 /home/$USER/.config/calibre $FOLDER/.config 2>/dev/null
2025-02-05 20:29:27 +00:00
mkdir -p $FOLDER/.local/share/
2025-02-05 20:36:50 +00:00
sudo rsync -ap --info=progress2 /home/$USER/.local/share/gnome-shell $FOLDER/.local/share/ 2>/dev/null
sudo rsync -ap --info=progress2 /home/$USER/.local/share/flatpak/overrides/ $FOLDER/.local/share/flatpak/ 2>/dev/null
sudo rsync -ap --info=progress2 /home/$USER/.local/share/lutris $FOLDER/.local/share/ 2>/dev/null
sudo rsync -ap --info=progress2 /home/$USER/.local/share/TelegramDesktop $FOLDER/.local/share/ 2>/dev/null
rsync -ap --info=progress2 /home/$USER/.steam $FOLDER 2>/dev/null
2025-02-05 20:26:07 +00:00
mkdir -p $FOLDER/.var/app/
2025-02-05 20:36:50 +00:00
rsync -ap --info=progress2 /home/$USER/.var/app/ $FOLDER/.var/app/ 2>/dev/null
sudo rsync -ap --info=progress2 /usr/share/jellyfin/web/config.json $FOLDER 2>/dev/null
2025-02-04 19:27:21 +00:00
2025-02-05 20:36:50 +00:00
konsave -s raveui-kde -f 2>/dev/null
rsync -ap --info=progress2 /home/$USER/.config/konsave $FOLDER/.config/ 2>/dev/null
mkdir -p $FOLDER/.local/state/ 2>/dev/null
rsync -ap --info=progress2 /home/$USER/.local/state/dolphinstaterc $FOLDER/.local/state/ 2>/dev/null
2025-02-04 20:15:09 +00:00
2025-02-04 20:28:11 +00:00
echo ${bold}${yellow}$USER settings copied. ${normal}
echo -----------------------------------------------------
sudo chown -R $USER:$GROUP $FOLDER
echo
fi
2025-02-04 19:27:21 +00:00
if [[ $user_choice = *"Restore all of my data and settings"* ]]; then
echo
echo -----------------------------------------------------
2025-02-04 20:28:11 +00:00
echo Copying ${bold}${yellow}Restoring $USER Settings and Files ${normal} into ${bold}${yellow}$FOLDER/${normal}
2025-02-04 19:27:21 +00:00
2025-02-04 20:28:11 +00:00
rsync -ap --info=progress2 $FOLDER /home/$USER/
sudo rsync -ap --info=progress2 $FOLDER/etc/libvirt /etc/
2025-02-05 18:42:17 +00:00
sudo rsync -ap --info=progress2 $FOLDER/usr/share/jellyfin/web/config.json /usr/share/jellyfin/web/
2025-02-04 20:32:28 +00:00
dconf load / < $FOLDER/$USER-ui
2025-02-05 18:02:38 +00:00
konsave -a raveui-kde
2025-02-04 20:22:52 +00:00
echo -----------------------------------------------------
2025-02-04 20:28:11 +00:00
sudo chown -R $USER:$GROUP /home/$USER/
echo
2025-02-04 20:28:11 +00:00
echo ${bold}${yellow}$USER settings RESTORED! ${normal}
fi
2025-02-04 20:28:11 +00:00
exit