Compare commits

...

4 Commits

Author SHA1 Message Date
d7787bedcf ...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
2025-01-21 00:55:03 +03:00
e0165aa370 tweaks...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
2025-01-21 00:52:51 +03:00
97e97f468a refactoring...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
2025-01-21 00:45:39 +03:00
77bd4f23bc notes...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
2025-01-20 19:06:36 +03:00

View File

@ -5,6 +5,20 @@ cd $(dirname $0)
PATH=$PATH:$(dirname "$(pwd)") PATH=$PATH:$(dirname "$(pwd)")
# this can be:
# full
# list
# <empty>
MIGRATE_CACHE=${MIGRATE_CACHE:-full}
# NOTE: paths here are relative to appdata_<instance_id>/
MIGRATE_CACHE_FILES=(
theming/global/images/background
theming/global/images/logo
theming/global/images/favicon.ico
)
#---------------------------------------------------------------------- #----------------------------------------------------------------------
source ../.pct-helpers source ../.pct-helpers
@ -50,10 +64,6 @@ TO=$2
@@ "lxc-attach $FROM -- mysqldump --single-transaction nextcloud \ @@ "lxc-attach $FROM -- mysqldump --single-transaction nextcloud \
| lxc-attach $TO -- mysql nextcloud" | lxc-attach $TO -- mysql nextcloud"
# instance id's...
FROM_INSTANCEID=$(lxc-attach $FROM -- turnkey-occ config:system:get instanceid)
TO_INSTANCEID=$(lxc-attach $TO -- turnkey-occ config:system:get instanceid)
# files... # files...
@ pct mount $FROM @ pct mount $FROM
@ -63,29 +73,46 @@ TO_INSTANCEID=$(lxc-attach $TO -- turnkey-occ config:system:get instanceid)
@ rsync -Aavx \ @ rsync -Aavx \
/var/lib/lxc/$FROM/rootfs/var/www/nextcloud-data/ \ /var/lib/lxc/$FROM/rootfs/var/www/nextcloud-data/ \
/var/lib/lxc/$TO/rootfs/var/www/nextcloud-data /var/lib/lxc/$TO/rootfs/var/www/nextcloud-data
# migrate theming and other instance files...
APPDATA=/var/lib/lxc/$TO/rootfs/var/www/nextcloud-data/appdata_$TO_INSTANCEID # migrate cache...
[ -e "$APPDATA" ] \ if ! [ -z "$DRY_RUN" ] \
&& mv -f "$APPDATA" "${APPDATA}.bak" || [ -e "$FROM_THEME_DIR" ] ; then
@ mv -f \ # instance id's...
/var/lib/lxc/$TO/rootfs/var/www/nextcloud-data/appdata_$FROM_INSTANCEID \ # XXX not sure how to deal with $DRY_RUN here...
"$APPDATA" if [ -z $DRY_RUN ] ; then
### XXX should we copy the whole thing or just the logo/background??? FROM_INSTANCEID=$(lxc-attach $FROM -- turnkey-occ config:system:get instanceid)
### XXX a better way to do this is to maintain a list of files to move... TO_INSTANCEID=$(lxc-attach $TO -- turnkey-occ config:system:get instanceid)
##FROM_THEME_DIR=/var/lib/lxc/$TO/rootfs/var/www/nextcloud-data/appdata_$FROM_INSTANCEID/theming/global/images else
##TO_THEME_DIR=/var/lib/lxc/$TO/rootfs/var/www/nextcloud-data/appdata_$TO_INSTANCEID/theming/global/images FROM_INSTANCEID=FROM
##if [ -e "$FROM_THEME_DIR" ] ; then TO_INSTANCEID=TO
## [ -e "$TO_THEME_DIR" ] \ fi
## || mkdir -p "$TO_THEME_DIR"
## [ -e "$FROM_THEME_DIR"/logo ] \ # full...
## && @ mv -f \ if [ "$MIGRATE_CACHE" == "full" ] ; then
## "$FROM_THEME_DIR/logo" \ # migrate theming and other instance files...
## "$TO_THEME_DIR" APPDATA=/var/lib/lxc/$TO/rootfs/var/www/nextcloud-data/appdata_$TO_INSTANCEID
## [ -e "$FROM_THEME_DIR"/background ] \ [ -e "$APPDATA" ] \
## && @ mv -f \ && @ mv -f "$APPDATA" "${APPDATA}.bak"
## "$FROM_THEME_DIR/background" \ @ mv -f \
## "$TO_THEME_DIR" /var/lib/lxc/$TO/rootfs/var/www/nextcloud-data/appdata_$FROM_INSTANCEID \
##fi "$APPDATA"
# list...
elif [ "$MIGRATE_CACHE" == "list" ] ; then
FROM_CACHE_DIR=/var/lib/lxc/$TO/rootfs/var/www/nextcloud-data/appdata_$FROM_INSTANCEID/
TO_CACHE_DIR=/var/lib/lxc/$TO/rootfs/var/www/nextcloud-data/appdata_$TO_INSTANCEID/
for f in "${MIGRATE_CACHE_FILES[@]}" ; do
from=${FROM_CACHE_DIR}/$f
to=${TO_CACHE_DIR}/$f
if [ -z "$DRY_RUN" ] \
&& ! [ -e "$from" ] ; then
continue
fi
@ mkdir -p "$(dirname "$to")"
@ cp -r "$from" "$to"
done
fi
fi
@ pct unmount $FROM @ pct unmount $FROM
@ pct unmount $TO @ pct unmount $TO