{"id":20625342,"url":"https://github.com/nemmusu/backup-manager","last_synced_at":"2026-05-08T06:03:12.526Z","repository":{"id":259754690,"uuid":"879351804","full_name":"nemmusu/backup-manager","owner":"nemmusu","description":"This project is a Flask-based Backup Manager that provides an interface for managing backups,  including creating, restoring, and deleting backup files. ","archived":false,"fork":false,"pushed_at":"2024-10-27T17:35:25.000Z","size":230,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-17T06:08:57.410Z","etag":null,"topics":["backup","flask","manager","python","server"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nemmusu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-27T17:19:17.000Z","updated_at":"2024-11-23T23:01:16.000Z","dependencies_parsed_at":"2024-10-27T20:51:50.315Z","dependency_job_id":"f4ca8534-c815-4511-b7d3-e867313cad5e","html_url":"https://github.com/nemmusu/backup-manager","commit_stats":null,"previous_names":["nemmusu/backup-manager"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nemmusu%2Fbackup-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nemmusu%2Fbackup-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nemmusu%2Fbackup-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nemmusu%2Fbackup-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nemmusu","download_url":"https://codeload.github.com/nemmusu/backup-manager/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242394445,"owners_count":20120941,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backup","flask","manager","python","server"],"created_at":"2024-11-16T13:09:20.172Z","updated_at":"2026-05-08T06:03:07.486Z","avatar_url":"https://github.com/nemmusu.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# Backup Manager\n\nThis project is a Flask-based Backup Manager that provides an interface for managing backups, \nincluding creating, restoring, and deleting backup files. The application supports multithreading \nto allow users to execute multiple actions in parallel (e.g., creating and deleting backups at the \nsame time). The manager also supports user roles, allowing administrators to manage user accounts \nand backup configurations.\n\n## Features\n\n- **Create Backup**: Generate a compressed zip backup of specified directories with real-time progress tracking.\n- **Instant Backup**: Backup a specific directory instantly with dynamic feedback on progress.\n- **Restore Backup**: Restore backups with options for overwriting or cleaning existing files.\n- **Delete Backup**: Delete selected backups without interrupting ongoing backup operations.\n- **Automatic Backups**: Schedule backups through crontab with customizable days and times.\n- **User Management**: Administrators can create, edit, and delete user accounts, including setting administrative privileges.\n- **Profile Management**: All users can update their passwords, while only administrators can manage user roles.\n\n## Installation\n\n1. **Clone the Repository**:\n   ```bash\n   git clone https://github.com/nemmusu/backup-manager.git\n   cd backup-manager\n   ```\n\n2. **Install Dependencies**:\n   It is recommended to use a virtual environment.\n   ```bash\n   python3 -m venv venv\n   source venv/bin/activate\n   pip install -r requirements.txt\n   ```\n\n3. **Initialize the Database**:\n   ```bash\n   python script_db_init.py\n   ```\n   The script will prompt for an admin username and password.\n\n4. **Run the Application**:\n   ```bash\n   flask run\n   ```\n   or with `SocketIO` support:\n   ```bash\n   python bm.py\n   ```\n\n5. **Access the Application**:\n   Open a web browser and go to [http://127.0.0.1:5000](http://127.0.0.1:5000).\n\n## Usage\n![Homepage](https://github.com/nemmusu/backup-manager/blob/main/screenshots/home.png)\n### Creating a Backup\n1. Navigate to the main dashboard.\n2. Click the \"Create Backup\" button.\n3. Track the backup progress via the progress bar.\n\n### Deleting a Backup\n1. Select backups to delete using the checkboxes next to each backup.\n2. Click \"Delete Selected\" to remove them.\n   - Note: Deletion actions do not interfere with ongoing backup processes.\n\n### Restoring a Backup\n1. Select a backup and choose the restore option (`Overwrite` or `Clean Restore`).\n2. Monitor the progress to confirm the restore completes successfully.\n\n### Setting up Automatic Backups\n1. Go to the \"Configure Automatic Backup\" section.\n2. Set times and days for scheduled backups and apply settings.\n\n### User Management\n1. Admin users can manage user roles and account settings via the \"User Management\" panel.\n2. Standard users can change their passwords under the \"Edit Profile\" option.\n![User Management](https://github.com/nemmusu/backup-manager/blob/main/screenshots/user_management.png)\n![Edit User](https://github.com/nemmusu/backup-manager/blob/main/screenshots/edit_user.png)\n\n## Requirements\n\n- Python 3.7+\n- Flask\n- Flask-SocketIO\n- Flask-SQLAlchemy\n- Flask-Bcrypt\n- Flask-Login\n\nInstall dependencies via `pip install -r requirements.txt`.\n\n## Folder Structure\n\n- `bm.py`: Main application file with routes and backup logic.\n- `templates/`: Contains HTML templates for the Flask application.\n- `script_db_init.py`: Initializes the database and creates an admin account.\n\n## Notes\n\n- Ensure `crontab` is available for setting automatic backups.\n- All backups are saved in a directory named `backups` under the user’s home folder.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnemmusu%2Fbackup-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnemmusu%2Fbackup-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnemmusu%2Fbackup-manager/lists"}