mirror of
https://github.com/flynx/proxmox-utils.git
synced 2025-10-28 02:30:07 +00:00
working on migration and backups...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
2ca1aabf3b
commit
fd4b075a26
@ -38,6 +38,7 @@ function @ (){
|
||||
return $?
|
||||
}
|
||||
|
||||
# XXX should @@ and @ be the same -- use eval???
|
||||
function @@ (){
|
||||
if [ -z $DRY_RUN ] ; then
|
||||
! [ $QUIET ] \
|
||||
|
||||
61
nextcloud/backup.sh
Executable file
61
nextcloud/backup.sh
Executable file
@ -0,0 +1,61 @@
|
||||
#!/usr/bin/bash
|
||||
#----------------------------------------------------------------------
|
||||
|
||||
cd $(dirname $0)
|
||||
PATH=$PATH:$(dirname "$(pwd)")
|
||||
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
|
||||
source ../.pct-helpers
|
||||
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
|
||||
readConfig
|
||||
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
#
|
||||
# see:
|
||||
# https://docs.nextcloud.com/server/latest/admin_manual/maintenance/backup.html
|
||||
|
||||
# XXX confirm vars...
|
||||
# XXX
|
||||
|
||||
DATE=$(date +%Y%m%d%H%M)
|
||||
DIR=${DATE}-${CTHOSTNAME}-${ID}
|
||||
|
||||
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
|
||||
mkdir "${DIR}"
|
||||
cd "${DIR}"
|
||||
|
||||
@ lxc-attach $ID -- turnkey-occ maintenance:mode --on
|
||||
|
||||
# sql...
|
||||
# XXX db:
|
||||
# mysqldump --single-transaction \
|
||||
# -h [server] -u [username] -p[password] \
|
||||
# [db_name] \
|
||||
# > nextcloud-sqlbkp_`date +"%Y%m%d"`.bak
|
||||
# or:
|
||||
# mysqldump --single-transaction --default-character-set=utf8mb4 \
|
||||
# -h [server] -u [username] -p[password] \
|
||||
# [db_name] \
|
||||
# > nextcloud-sqlbkp_`date +"%Y%m%d"`.bak
|
||||
@ lxc-attach $ID -- mysqldump --single-transaction nextcloud > nextcloud.sql
|
||||
|
||||
# files...
|
||||
pct mount $ID
|
||||
rsync -Aavx /var/lib/lxc/$ID/rootfs/var/www/nextcloud-data .
|
||||
pct unmount $ID
|
||||
|
||||
@ lxc-attach $ID -- turnkey-occ maintenance:mode --off
|
||||
|
||||
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
# vim:set ts=4 sw=4 nowrap :
|
||||
@ -15,89 +15,6 @@ source ../.pct-helpers
|
||||
readConfig
|
||||
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
# backup/restore...
|
||||
|
||||
# Backup...
|
||||
# see:
|
||||
# https://docs.nextcloud.com/server/latest/admin_manual/maintenance/backup.html
|
||||
if [ $1 == 'backup' ] ; then
|
||||
# XXX confirm vars...
|
||||
# XXX
|
||||
|
||||
DATE=$(date +%Y%m%d%H%M)
|
||||
DIR=${DATE}-${CTHOSTNAME}-${ID}
|
||||
|
||||
mkdir "${DIR}"
|
||||
cd "${DIR}"
|
||||
|
||||
@ lxc-attach $ID -- turnkey-occ maintenance:mode --on
|
||||
|
||||
# sql...
|
||||
# XXX db:
|
||||
# mysqldump --single-transaction \
|
||||
# -h [server] -u [username] -p[password] \
|
||||
# [db_name] \
|
||||
# > nextcloud-sqlbkp_`date +"%Y%m%d"`.bak
|
||||
# or:
|
||||
# mysqldump --single-transaction --default-character-set=utf8mb4 \
|
||||
# -h [server] -u [username] -p[password] \
|
||||
# [db_name] \
|
||||
# > nextcloud-sqlbkp_`date +"%Y%m%d"`.bak
|
||||
@ lxc-attach $ID -- mysqldump --single-transaction nextcloud > nextcloud.sql
|
||||
|
||||
# files...
|
||||
pct mount $ID
|
||||
rsync -Aavx /var/lib/lxc/$ID/rootfs/var/www/nextcloud-data .
|
||||
pct unmount $ID
|
||||
|
||||
@ lxc-attach $ID -- turnkey-occ maintenance:mode --off
|
||||
exit
|
||||
|
||||
# Restore backup...
|
||||
# see:
|
||||
# https://docs.nextcloud.com/server/latest/admin_manual/maintenance/restore.html
|
||||
elif [ $1 == 'restore' ] ; then
|
||||
# XXX confirm vars...
|
||||
# XXX
|
||||
|
||||
@ lxc-attach $ID -- turnkey-occ maintenance:mode --on
|
||||
|
||||
# XXX
|
||||
|
||||
@ lxc-attach $ID -- turnkey-occ maintenance:mode --off
|
||||
exit
|
||||
|
||||
# Migrate...
|
||||
elif [ $1 == 'migrate' ] ; then
|
||||
# XXX similar to make.sh backup && make.sh restore but copies data directly (rsync)...
|
||||
# XXX
|
||||
@ lxc-attach $A -- turnkey-occ maintenance:mode --on
|
||||
@ lxc-attach $B -- turnkey-occ maintenance:mode --on
|
||||
|
||||
# sql
|
||||
# mysql -h [server] -u [username] -p[password] -e "DROP DATABASE nextcloud"
|
||||
# mysql -h [server] -u [username] -p[password] -e "CREATE DATABASE nextcloud"
|
||||
# mysql -h [server] -u [username] -p[password] [db_name] < nextcloud-sqlbkp.bak
|
||||
|
||||
# XXX need to echo this -- @ will not work here as we need to include the pipe...
|
||||
(lxc-attach $A -- mysqldump --single-transaction nextcloud \
|
||||
| lxc-attach $B -- mysql nextcloud)
|
||||
|
||||
# files...
|
||||
pct mount $A
|
||||
pct mount $B
|
||||
rsync -Aavx \
|
||||
/var/lib/lxc/$A/rootfs/var/www/nextcloud-data
|
||||
/var/lib/lxc/$B/rootfs/var/www/nextcloud-data
|
||||
pct unmount $A
|
||||
pct unmount $B
|
||||
|
||||
@ lxc-attach $A -- turnkey-occ maintenance:mode --off
|
||||
@ lxc-attach $B -- turnkey-occ maintenance:mode --off
|
||||
exit
|
||||
fi
|
||||
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
# build...
|
||||
|
||||
49
nextcloud/migrate.sh
Executable file
49
nextcloud/migrate.sh
Executable file
@ -0,0 +1,49 @@
|
||||
#!/usr/bin/bash
|
||||
#----------------------------------------------------------------------
|
||||
|
||||
cd $(dirname $0)
|
||||
PATH=$PATH:$(dirname "$(pwd)")
|
||||
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
|
||||
source ../.pct-helpers
|
||||
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
|
||||
readConfig
|
||||
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
|
||||
@ lxc-attach $FROM -- turnkey-occ maintenance:mode --on
|
||||
@ lxc-attach $TO -- turnkey-occ maintenance:mode --on
|
||||
|
||||
# sql
|
||||
@ lxc-attach $TO -- mysql -e "DROP DATABASE nextcloud"
|
||||
@ lxc-attach $TO -- mysql -e "CREATE DATABASE nextcloud"
|
||||
@@ "lxc-attach $FROM -- mysqldump --single-transaction nextcloud \
|
||||
| lxc-attach $TO -- mysql nextcloud"
|
||||
|
||||
# files...
|
||||
pct mount $FROM
|
||||
pct mount $TO
|
||||
rsync -Aavx \
|
||||
/var/lib/lxc/$FROM/rootfs/var/www/nextcloud-data
|
||||
/var/lib/lxc/$TO/rootfs/var/www/nextcloud-data
|
||||
pct unmount $FROM
|
||||
pct unmount $TO
|
||||
|
||||
@ lxc-attach $FROM -- turnkey-occ maintenance:mode --off
|
||||
@ lxc-attach $TO -- turnkey-occ maintenance:mode --off
|
||||
|
||||
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
# vim:set ts=4 sw=4 nowrap :
|
||||
40
nextcloud/restore.sh
Executable file
40
nextcloud/restore.sh
Executable file
@ -0,0 +1,40 @@
|
||||
#!/usr/bin/bash
|
||||
#----------------------------------------------------------------------
|
||||
|
||||
cd $(dirname $0)
|
||||
PATH=$PATH:$(dirname "$(pwd)")
|
||||
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
|
||||
source ../.pct-helpers
|
||||
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
|
||||
readConfig
|
||||
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
# Restore backup...
|
||||
# see:
|
||||
# https://docs.nextcloud.com/server/latest/admin_manual/maintenance/restore.html
|
||||
|
||||
|
||||
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
|
||||
# XXX confirm vars...
|
||||
# XXX
|
||||
|
||||
@ lxc-attach $ID -- turnkey-occ maintenance:mode --on
|
||||
|
||||
# XXX
|
||||
|
||||
@ lxc-attach $ID -- turnkey-occ maintenance:mode --off
|
||||
|
||||
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
# vim:set ts=4 sw=4 nowrap :
|
||||
Loading…
x
Reference in New Issue
Block a user