WIP: Improved backup/restore system.
This commit is contained in:
@@ -71,18 +71,18 @@ class Radicale(base.Installer):
|
||||
stat.S_IROTH | stat.S_IXOTH,
|
||||
0, 0
|
||||
)
|
||||
# Attempt to restore radicale collections from backup
|
||||
if self.restore is not None:
|
||||
radicale_backup = os.path.join(
|
||||
self.restore, "custom/radicale")
|
||||
if os.path.isdir(radicale_backup):
|
||||
restore_target = os.path.join(self.home_dir, "collections")
|
||||
if os.path.isdir(restore_target):
|
||||
shutil.rmtree(restore_target)
|
||||
shutil.copytree(radicale_backup, restore_target)
|
||||
utils.printcolor(
|
||||
"Radicale collections restored from backup", utils.GREEN)
|
||||
super(Radicale, self).install_config_files()
|
||||
super().install_config_files()
|
||||
|
||||
def restore(self):
|
||||
"""Restore collections."""
|
||||
radicale_backup = os.path.join(
|
||||
self.restore, "custom/radicale")
|
||||
if os.path.isdir(radicale_backup):
|
||||
restore_target = os.path.join(self.home_dir, "collections")
|
||||
if os.path.isdir(restore_target):
|
||||
shutil.rmtree(restore_target)
|
||||
shutil.copytree(radicale_backup, restore_target)
|
||||
utils.success("Radicale collections restored from backup")
|
||||
|
||||
def post_run(self):
|
||||
"""Additional tasks."""
|
||||
@@ -93,3 +93,12 @@ class Radicale(base.Installer):
|
||||
system.enable_service(daemon_name)
|
||||
utils.exec_cmd("service {} stop".format(daemon_name))
|
||||
utils.exec_cmd("service {} start".format(daemon_name))
|
||||
|
||||
def custom_backup(self, path):
|
||||
"""Backup collections."""
|
||||
radicale_backup = os.path.join(self.config.get(
|
||||
"radicale", "home_dir", fallback="/srv/radicale"), "collections")
|
||||
if os.path.isdir(radicale_backup):
|
||||
shutil.copytree(radicale_backup, os.path.join(
|
||||
path, "radicale"))
|
||||
utils.printcolor("Radicale files saved", utils.GREEN)
|
||||
|
||||
Reference in New Issue
Block a user