@@ -96,24 +96,27 @@ class Dovecot(base.Installer):
|
|||||||
|
|
||||||
def post_run(self):
|
def post_run(self):
|
||||||
"""Additional tasks."""
|
"""Additional tasks."""
|
||||||
mail_dir = os.path.join(self.restore, "mails/")
|
if self.restore is not None:
|
||||||
if self.restore is not None and len(os.listdir(mail_dir)) > 0:
|
mail_dir = os.path.join(self.restore, "mails/")
|
||||||
utils.printcolor(
|
if len(os.listdir(mail_dir)) > 0:
|
||||||
"Copying mail backup over dovecot directory.", utils.GREEN)
|
utils.printcolor(
|
||||||
|
"Copying mail backup over dovecot directory.", utils.GREEN)
|
||||||
|
|
||||||
if os.path.exists(self.home_dir):
|
if os.path.exists(self.home_dir):
|
||||||
shutil.rmtree(self.home_dir)
|
shutil.rmtree(self.home_dir)
|
||||||
|
|
||||||
shutil.copytree(mail_dir, self.home_dir)
|
shutil.copytree(mail_dir, self.home_dir)
|
||||||
# Resetting permission for vmail
|
# Resetting permission for vmail
|
||||||
for dirpath, dirnames, filenames in os.walk(self.home_dir):
|
for dirpath, dirnames, filenames in os.walk(self.home_dir):
|
||||||
shutil.chown(dirpath, self.user, self.user)
|
shutil.chown(dirpath, self.user, self.user)
|
||||||
for filename in filenames:
|
for filename in filenames:
|
||||||
shutil.chown(os.path.join(dirpath, filename),
|
shutil.chown(os.path.join(dirpath, filename),
|
||||||
self.user, self.user)
|
self.user, self.user)
|
||||||
elif self.restore is not None:
|
else:
|
||||||
utils.printcolor(
|
utils.printcolor(
|
||||||
"It seems that mails were not backed up, skipping mail restoration.", utils.MAGENTA)
|
"It seems that mails were not backed up, skipping mail restoration.",
|
||||||
|
utils.MAGENTA
|
||||||
|
)
|
||||||
|
|
||||||
if self.dbengine == "postgres":
|
if self.dbengine == "postgres":
|
||||||
dbname = self.config.get("modoboa", "dbname")
|
dbname = self.config.get("modoboa", "dbname")
|
||||||
|
|||||||
Reference in New Issue
Block a user