Beispiel #1
0
from config import BackupConfig
import asyncio
import logging
from distutils.dir_util import copy_tree, remove_tree
from datetime import date
import os
from time import time
from distutils.errors import DistutilsFileError
from multiprocessing import Process
from lib import getRemovablesByDate, getDateObjectFromString

path = os.getcwd()
settings = BackupConfig()
today = time()

def backup():
    newPath = f"{settings.output}/backup_{today.__str__()}"
    copy_tree(settings.input, newPath)
    print(f"Backupping from {settings.input} to {newPath}")

def clean(): 
    print("Cleaning up backup folder")
    removables = getRemovablesByDate(settings.output)

    for removable in removables:
        p = f"{settings.output}\{removable['path']}"
        remove_tree(p)
    
    print("Clean up done.")
    
#TODO: Test for missing config options and bad filepaths.