diff options
author | Jernuh Zakalwe | 2019-12-30 17:06:46 +0100 |
---|---|---|
committer | Jernuh Zakalwe | 2019-12-30 17:06:46 +0100 |
commit | b2d8028e7eae09fad95feb5486267eb986f0ba69 (patch) | |
tree | efae24426e2062373d26a67fb4c598086ee6246d /evebackup | |
parent | 232333097a5f3749a9c84adbed10a306d76a9a2e (diff) | |
download | aur-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-- | evebackup | 52 |
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" |