make a backup before upgrade
+ add no_backup flag + add keep_maintenance_mode internal flag
This commit is contained in:
parent
def0776066
commit
4bf6a7d91f
|
|
@ -9,6 +9,7 @@ import shutil
|
||||||
from colorama import Fore, Style
|
from colorama import Fore, Style
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from utils import _print
|
from utils import _print
|
||||||
|
import utils
|
||||||
|
|
||||||
|
|
||||||
class Container:
|
class Container:
|
||||||
|
|
@ -198,7 +199,8 @@ class Container:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
# Disable Nextcloud maintenance mode
|
# Disable Nextcloud maintenance mode
|
||||||
def __disable_maintenance_mode(self):
|
def __disable_maintenance_mode(self) -> bool:
|
||||||
|
if not utils.keep_maintenance_mode:
|
||||||
try:
|
try:
|
||||||
disable_maintenance_mode = check_output(
|
disable_maintenance_mode = check_output(
|
||||||
["docker", "exec", "--user", "www-data", self.app_container, "php", "occ", "maintenance:mode", "--off"])
|
["docker", "exec", "--user", "www-data", self.app_container, "php", "occ", "maintenance:mode", "--off"])
|
||||||
|
|
@ -213,6 +215,8 @@ class Container:
|
||||||
self.exceptions.update({'__disable_maintenance_mode': traceback.format_exc()})
|
self.exceptions.update({'__disable_maintenance_mode': traceback.format_exc()})
|
||||||
_print(F"Disable Nextcloud maintenance mode: {self.FAILED}")
|
_print(F"Disable Nextcloud maintenance mode: {self.FAILED}")
|
||||||
return False
|
return False
|
||||||
|
else:
|
||||||
|
return True
|
||||||
|
|
||||||
# Pull new docker images
|
# Pull new docker images
|
||||||
def __pull_images(self):
|
def __pull_images(self):
|
||||||
|
|
|
||||||
11
upgrade.py
11
upgrade.py
|
|
@ -10,6 +10,7 @@ import utils
|
||||||
from utils import _print
|
from utils import _print
|
||||||
from models import Container
|
from models import Container
|
||||||
from models import Log
|
from models import Log
|
||||||
|
import backup
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
|
|
@ -35,7 +36,15 @@ def upgrade():
|
||||||
container: Container
|
container: Container
|
||||||
for container in containers.values():
|
for container in containers.values():
|
||||||
|
|
||||||
# Start backup
|
go_on = True
|
||||||
|
# Make a backup
|
||||||
|
if not utils.no_backup:
|
||||||
|
utils.keep_maintenance_mode = True
|
||||||
|
go_on = backup.backup()
|
||||||
|
|
||||||
|
if go_on:
|
||||||
|
# Make the upgrade
|
||||||
|
utils.keep_maintenance_mode = True if "--maintenance" in sys.argv else False
|
||||||
_print("----------------------------------------------")
|
_print("----------------------------------------------")
|
||||||
_print(F"Start upgrade for {container.name} at {datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')}")
|
_print(F"Start upgrade for {container.name} at {datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')}")
|
||||||
result = container.upgrade()
|
result = container.upgrade()
|
||||||
|
|
|
||||||
4
utils.py
4
utils.py
|
|
@ -4,7 +4,10 @@ no_log = False
|
||||||
no_cleanup = False
|
no_cleanup = False
|
||||||
all_containers = False
|
all_containers = False
|
||||||
no_confirm = False
|
no_confirm = False
|
||||||
|
no_backup = False
|
||||||
|
|
||||||
|
# intern Flags
|
||||||
|
keep_maintenance_mode = False
|
||||||
|
|
||||||
|
|
||||||
def set_flags(flags=list):
|
def set_flags(flags=list):
|
||||||
|
|
@ -20,6 +23,7 @@ def set_flags(flags=list):
|
||||||
all_containers = "--all" in flags
|
all_containers = "--all" in flags
|
||||||
no_cleanup = "--nocleanup" in flags
|
no_cleanup = "--nocleanup" in flags
|
||||||
no_confirm = "--yes" in flags
|
no_confirm = "--yes" in flags
|
||||||
|
no_backup = "--nobackup" in flags
|
||||||
|
|
||||||
|
|
||||||
def _print(text=None):
|
def _print(text=None):
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue