Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

File Backup Logger

Small Python app that copies a folder into a backup location with a date and version stamp, keeps a text log of every backup, and remembers your last-used folders. Can save either a plain copy or a zip.

Running it

You need Python 3.8 or newer. Everything the code uses is in the standard library, so nothing to pip install. On Linux you might need sudo apt install python3-tk if tkinter is not already there.

git clone https://github.com/tsarumar/File-Backup-Logger.git
cd File-Backup-Logger
python main.py

The window opens. Pick a source folder, pick a destination, tick "Zip the backup" if you want it compressed, and hit Back up now. The log fills as files copy. Hit Save prefs and next time it opens the folders are already filled in.

Screenshots

Main window:

Main window

After a run:

After running

The log it keeps in backup.log:

Log view

How the code is split

Each class has one job.

  • backup.py walks the source folder, copies files, and either writes them into backup_YYYY-MM-DD_vN/ or into a .zip.
  • logger.py writes START / DONE / ERROR / INFO lines to backup.log with timestamps and file counts.
  • config.py loads and saves user preferences (source, destination, zip on/off, auto interval) in config.json.
  • gui.py is the tkinter window.
  • main.py opens the window.

Backup folder names look like backup_2026-07-14_v1. If you run again the same day it becomes _v2, _v3, and so on, so nothing is ever overwritten.

About errors and safety

Files that fail to copy (permission denied, file open elsewhere, disk full) are logged and skipped. One bad file cannot stop the whole run. The backup runs in a background thread so the window stays responsive and the progress bar updates as files go.

If you set the auto interval above 0, the app schedules a fresh backup every N minutes while the window is open. Setting it back to 0 stops the schedule.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages