mirror of
https://github.com/flynx/proxmox-utils.git
synced 2025-10-28 10:40: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 $?
|
return $?
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# XXX should @@ and @ be the same -- use eval???
|
||||||
function @@ (){
|
function @@ (){
|
||||||
if [ -z $DRY_RUN ] ; then
|
if [ -z $DRY_RUN ] ; then
|
||||||
! [ $QUIET ] \
|
! [ $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
|
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...
|
# 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