diff options
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" |