Skip to content
This repository has been archived by the owner on Jan 13, 2023. It is now read-only.

belongtothenight/Local-File-Backup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

88 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Local File Backup

ATTENTION: Under development

Description

This repo aims to create a less complex version of backup softwares, but with the ability to automate the entire process. Archive and unpack functionalities are also provided.
This project is inspired by SyncBack.

Functionality

Functionality Sub-Functionality Filename Filter Foldername Filter Duplication Check Disk Size Check Show Progress Generate File
Copy Single File $\checkmark$
| Single Folder $\checkmark$ $\checkmark$ $\checkmark$ $\checkmark$
| Multi Folder $\checkmark$ $\checkmark$ $\checkmark$ $\checkmark$ $\checkmark$
Archive Single File
| Single Folder $\checkmark$ $\checkmark$ $\checkmark$
| Multi Folder $\checkmark$ $\checkmark$ $\checkmark$ $\checkmark$
Unpack Single File $\checkmark$ $\checkmark$
| Single Folder $\checkmark$ $\checkmark$ $\checkmark$ $\checkmark$
| Multi Folder $\checkmark$ $\checkmark$ $\checkmark$ $\checkmark$ $\checkmark$
File Log Generation $\times$ $\checkmark$
Process File Generation $\times$ $\checkmark$
Routine Execution Script Generation $\times$

GUI

  1. Select source and destination.
    1. Source Directory
    2. Destination Directory
    3. src and dst set selection.
  2. View all copying files.
    1. Filtering
    2. Check and uncheck files
    3. View file list
    4. View process states
  3. Backup.
    1. Set Backup Process generation.
      generate .py file and .csv file for routine execution.
      1. Show generated .py file
      2. Show generated .csv file
    2. Estimation Run.
      1. Show rogress bar
      2. Show realtime log
    3. Backup.
      1. Show progress bar
      2. Show realtime log
      3. Store log in csv file
  4. Inform custom fonts can be installed

Undergoing Work

  1. Change the entire fully tested code into a function and move it to lib file
  2. Add a read and write set_process functionality to the main file
lfb_process_processname.lfbp
===========================================================
Process Settings</br>
duplicate||False                                            (True: auto rename/False: ignore)
filter_on||True                                             (True: Enable/False: Disable) 
copy_single_on||True                                        (True: Enable/False: Disable)
copy_multi_on||True                                         (True: Enable/False: Disable)
archive_auto_rename||True         (True: Enable/False: Disable)
archive_single_on||True                                     (True: Enable/False: Disable)
archive_multi_on||True                                      (True: Enable/False: Disable)
unpack_auto_rename||True         (True: Enable/False: Disable)
unpack_single_on||True                                      (True: Enable/False: Disable)
unpack_multi_on||True                                       (True: Enable/False: Disable)
===========================================================
Exclude file filters
filter_filetype||txt                                        (filetype)                                              (without dot)
filter_atime_after||2022-01-01 00:00:00                     (YYYY-MM-DD HH:MM:SS)                                   (date + time)
filter_atime_before||2022-01-01 00:00:00                    (YYYY-MM-DD HH:MM:SS)                                   (date + time)
filter_mtime_after||2022-01-01 00:00:00                     (YYYY-MM-DD HH:MM:SS)                                   (date + time)
filter_mtime_before||2022-01-01 00:00:00                    (YYYY-MM-DD HH:MM:SS)                                   (date + time)
filter_ctime_after||2022-01-01 00:00:00                     (YYYY-MM-DD HH:MM:SS)                                   (date + time)
filter_ctime_before||2022-01-01 00:00:00                    (YYYY-MM-DD HH:MM:SS)                                   (date + time)
filter_filename_exact||123                                  (Filename without extension)                            (exact match filename)
filter_filenamePartial||12                                  (Partial filename without extension)                    (partial match filename)
filter_file||D:/123.txt                                     (Full path with file)                                   (exact match file)
filter_folder||D:/                                          (Full path till folder)                                 (exact match folder)
===========================================================
Process List
copy_single_process||D:/1.txt||E:/                          (path||path)                                            (src path till file||dst path till folder)                                              Copy single file
copy_multi_process||D:/||E:/                                (path||path)                                            (src path till folder||dst path till folder)                                            Copy file tree
archive_single_process||D:/||E:/||test||gztar               (path||path||filename||zip/tar/gztar/bztar/xztar)       (src path till folder||dst path till folder||archive filename||archive filetype)        Archive the given folder and save it in the given destination folder.
archive_multi_process||D:/||E:/||Original||gztar            (path||path||Original/Auto||zip/tar/gztar/bztar/xztar)  (src path till folder||dst path till folder||foldername/Autonaming||archive filetype)   Archive the sub folders in given folder and save them in the given destination folder.
unpack_single_process||D:/||E:/||test||zip                  (path||path||filename||zip/tar/gztar/bztar/xztar)       (src path till folder||dst path till folder||archive filename||archive filetype)        Unpack the given archive file and save it in the given destination folder.
unpack_multi_process||D:/||E:/||test||zip                   (path||path||Original/Auto||zip/tar/gztar/bztar/xztar)  (src path till folder||dst path till folder||foldername/Autonaming||archive filetype)   Unpack the sub folders in given archive file and save them in the given destination folder.
===========================================================
  1. Add GUI
Next will be making the "show processing files", "settings", and "routine execution script generator" windows. Also, the "show processing files" window links to copying, archiving, unpacking, and list generator windows and applies filter to it.
https://psutil.readthedocs.io/en/latest/

About

This repo aims to create a less complex version of backup softwares, but with the ability to automate the entire process. Archive and unpack functionalities are also provided.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published