added an automatic bash option (no path provided) or a path provided bash (for cron job)
This commit is contained in:
@@ -24,7 +24,7 @@ def install(appname, config, upgrade):
|
||||
utils.printcolor(u"{}".format(inst), utils.RED)
|
||||
sys.exit(1)
|
||||
|
||||
def backup(config, isBash):
|
||||
def backup(config, bashArg):
|
||||
"""Backup instance"""
|
||||
try:
|
||||
script = importlib.import_module(
|
||||
@@ -32,7 +32,7 @@ def backup(config, isBash):
|
||||
except ImportError:
|
||||
print("Error importing backup")
|
||||
try:
|
||||
getattr(script, "Backup")(config, isBash).run()
|
||||
getattr(script, "Backup")(config, bashArg).run()
|
||||
except utils.FatalError as inst:
|
||||
utils.printcolor(u"{}".format(inst), utils.RED)
|
||||
sys.exit(1)
|
||||
|
||||
@@ -5,6 +5,7 @@ import pwd
|
||||
import shutil
|
||||
import stat
|
||||
import datetime
|
||||
import sys
|
||||
|
||||
from .. import database
|
||||
from .. import utils
|
||||
@@ -27,12 +28,17 @@ class Backup():
|
||||
#||--> mails
|
||||
# |--> vmails
|
||||
|
||||
def __init__(self, config, isBash):
|
||||
def __init__(self, config, bashArg):
|
||||
self.config = config
|
||||
self.isBash = isBash
|
||||
self.destinationPath = ""
|
||||
self.BACKUPDIRECTORY = ["mails/", "custom/", "databases/"]
|
||||
|
||||
self.isBash = False
|
||||
self.bash = ""
|
||||
if bashArg != "NOBASH":
|
||||
self.isBash = True
|
||||
self.bash = bashArg
|
||||
|
||||
|
||||
def preparePath(self):
|
||||
pw = pwd.getpwnam("root")
|
||||
@@ -80,9 +86,16 @@ class Backup():
|
||||
def setPath(self):
|
||||
"""Setup backup directory"""
|
||||
if self.isBash:
|
||||
date = datetime.datetime.now().strftime("%m_%d_%Y_%H_%M")
|
||||
path = f"/modoboa_backup/backup_{date}/"
|
||||
self.validatePath(path)
|
||||
if self.bash == "TRUE":
|
||||
date = datetime.datetime.now().strftime("%m_%d_%Y_%H_%M")
|
||||
path = f"/modoboa_backup/backup_{date}/"
|
||||
self.validatePath(path)
|
||||
else :
|
||||
validate = self.validatePath(self.bash)
|
||||
if not validate:
|
||||
print("provided bash is not right, exiting...")
|
||||
print(f"Path provided : {self.bash}")
|
||||
sys.exit(1)
|
||||
else:
|
||||
user_value = None
|
||||
while (user_value == '' or user_value == None or not self.validatePath(user_value)):
|
||||
|
||||
Reference in New Issue
Block a user