Skip to content

A webapp to check if all currently reachable servers have at a backup file in the specified target directories.

Notifications You must be signed in to change notification settings

animehunter123/backups_checker

Repository files navigation

Description

A webapp to check if all currently reachable servers have at a backup file in the specified target directories.

Sample Photo of Backup Checker Web App

Milestone Goals

  • Add a list of servers to check (using pypimap to fetch hostname, ip, ports, last scan time)
  • Add a list of target directories to scan recurisvely (to fetch filenames)
  • Add a database to store the list of servers and target directories (For now sqlite is fine, no need for DBMS like PostgreSQL or others yet).
  • Add a backend api to allow launching scan_servers and scan_directories
  • Add a frontend to allow user input.

To Do

  • Design Principle Problem: Still a "best effort" to assume backup files match the hostname/ip... we dont have a standardized filenaming format for acronis or tar backups so you might get a false positive like this

  • convert the backend from python to nodejs for better performance

  • settings button to edit the json config file from the front end (for example use npm install @mui/x-data-grid for the data grid)

  • root is required for nmap, might need a better way, but for now:

To Launch App as root: 
sudo bash -c 'source /root/venv/bin/activate ; cd /home/p*/dev/backup_checker ; ./start-services-on-host.sh'

To Rebuild/Rescan SQlite database from scratchas root:
sudo bash -c 'rm - f /home/*p*/dev/backup_checker/backend/backup_checker.db; source /root/venv/bin/activate ; cd /home/*p*/dev/backup_checker/backend ; ./scan_dirs/scan_dirs.py ; ./scan_servers/scan_servers.py'

  • config validation in frontend/backend is needed, for now it accepts anything (and still works, becareful to never add 0.0.0.0 to the list of servers to check)

  • need the docker-compose for both webapps to allow HMR modification of code (not COPY . . the code into the container into a read-only directory), or just embed node into environment.

  • need to make the CDN's all become embedded into the app for homelab without internet

  • Add some type of H1 to explain what this app does, its not easy to understand what this app does atm

  • add a search bar and filter for the backup status

  • Add button to clear files from database, another button to clear servers from database

  • Add maybe a log status modal that shows the status as it is nmap scanning, or if it is directory scanning

About

A webapp to check if all currently reachable servers have at a backup file in the specified target directories.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published