summarylogtreecommitdiffstats
path: root/evebackup
diff options
context:
space:
mode:
authorJernuh Zakalwe2019-12-30 17:06:46 +0100
committerJernuh Zakalwe2019-12-30 17:06:46 +0100
commitb2d8028e7eae09fad95feb5486267eb986f0ba69 (patch)
treeefae24426e2062373d26a67fb4c598086ee6246d /evebackup
parent232333097a5f3749a9c84adbed10a306d76a9a2e (diff)
downloadaur-b2d8028e7eae09fad95feb5486267eb986f0ba69.tar.gz
Complete rewrite of evebackup (Thanks goes to elitatwo, who pushes me in the right direction).
P7zip as dependency for evebackup added to make EVE's backup archives portable. Minor changes on all build- and setup-scripts.
Diffstat (limited to 'evebackup')
-rw-r--r--evebackup52
1 files changed, 43 insertions, 9 deletions
diff --git a/evebackup b/evebackup
index b9e45520a88d..c1db57fa0bce 100644
--- a/evebackup
+++ b/evebackup
@@ -2,18 +2,52 @@
set -e
-# WIP use at own risk
-
. ./evesetup.shlib
+backup_settings() {
+for SERVER in tranquility singularity duality thunderdome ;do
+ CLPROFILE="$(ls -d *_$SERVER 2>/dev/null || true)"
+ [ "x$CLPROFILE" = "x" ] && continue
+ if [ ! -f "$BACKUPDIR/$SERVER-settings_current.7z" ] ;then
+ MSGSTR="Preparing EVE Backup, please run $CMDSTR again."
+ else
+ mv "$BACKUPDIR/$SERVER-settings_current.7z" "$BACKUPDIR/$SERVER-settings.7z"
+ MSGSTR="User settings in $BACKUPDIR saved."
+ fi
+ cd "$CLPROFILE"
+ 7z u -t7z -xr!Browser "$BACKUPDIR/$SERVER-settings.7z" \
+ -u- -u!"$BACKUPDIR/$SERVER-settings_current.7z" "settings_*" >/dev/null
+ cd ..
+done
+}
+
+restore_settings() {
+for SERVER in thunderdome duality singularity tranquility ;do
+ if [ ! -f "$BACKUPDIR/$SERVER-settings.7z" ] ;then
+ MSGSTR="No settings in $BACKUPDIR found."
+ continue 2
+ fi
+ case $SERVER in
+ tranquility) SERVER_SHORT=tq ;;
+ singularity) SERVER_SHORT=sisi ;;
+ *) SERVER_SHORT=$SERVER ;;
+ esac
+ [ -d c_"$SERVER_SHORT"_"$SERVER" ] || mkdir c_"$SERVER_SHORT"_"$SERVER"
+ 7z x "$BACKUPDIR/$SERVER-settings.7z" -oc_"$SERVER_SHORT"_"$SERVER" -y >/dev/null
+ MSGSTR="User settings from $BACKUPDIR restored."
+done
+}
+
SHAREDIR=$(getval SharedCacheFolder)
-BCKUPDIR=$(xdg-user-dir DOCUMENTS 2>/dev/null || true)/EVE
-[ -d "$BCKUPDIR" ] || BCKUPDIR=$HOME
+BACKUPDIR=$(xdg-user-dir DOCUMENTS)/EVE
+CMDSTR=$(basename $0)
-USERCONF=wineenv/drive_c/users/$(whoami)/Local\ Settings/Application\ Data/CCP/EVE
+cd "${SHAREDIR}wineenv/drive_c/users/$(whoami)/Local Settings/Application Data/CCP/EVE"
-cd $SHAREDIR
-tar czf $BCKUPDIR/eve_userconf_$(date +%F).tar.gz \
- --exclude=cache --exclude=Browser --exclude=history.txt "$USERCONF"
+case $CMDSTR in
+ evebackup) backup_settings ;;
+ everestore) restore_settings ;;
+ *) exit 1 ;;
+esac
-desktop_msg "User configuration in $BCKUPDIR stored."
+desktop_msg "$MSGSTR"