mb-backup-manager/changelogs.md

3.3 KiB

Changelog

Version 1.5

Added

  • Simplified backup_all.sh by delegating backup tasks to individual scripts (backup_core_files.sh, backup_database.sh, backup_media.sh).
  • Introduced centralized orchestration of all backups in backup_all.sh with a unified manual-backup tag for consistency.
  • Ensured individual scripts can be reused independently or called as part of a larger workflow.

Fixed

  • Corrected trap command in backup_all.sh to ensure errors are properly logged to backup_error.log.
  • Addressed issues with redundant logic in backup_all.sh by consolidating common functionality into the individual backup scripts.
  • Resolved potential inconsistencies in tag usage by applying a standard manual-backup tag with the current server date across all backup scripts.

Updated

  • Refactored backup_all.sh to dynamically call individual backup scripts instead of duplicating logic for core, database, and media backups.
  • Adjusted YAML configuration for backupnow to call backup_all.sh as the primary entry point for the backup process.

Improved

  • Centralized the backup process to enhance modularity and maintainability by separating core, database, and media backup logic.
  • Ensured consistent tagging and logging across all backup types for easier monitoring and debugging.
  • Streamlined the orchestration script (backup_all.sh) for improved readability and reduced duplication.

Version 1.4

Added

  • Introduced efficient lock management in all backup scripts to prevent conflicts during simultaneous Restic operations.
  • Automated removal of stale locks before each Restic operation.
  • Added global lock mechanism using flock to serialize backup operations across multiple processes.
  • Implemented dynamic inclusion of Restic password handling by reading it directly from the /etc/restic-password file.
  • Added automatic validation of Restic repository access before performing backups.

Fixed

  • Fixed issues with manual Restic prompts for the repository password by ensuring passwords are passed via environment variables.
  • Resolved potential conflicts caused by simultaneous Restic processes with the introduction of serialized operations.
  • Corrected permissions for Restic lock directories to avoid permission-denied errors during backup and restore processes.
  • Enhanced password validation logic to ensure backups fail gracefully if the provided password is incorrect.

Updated

  • Updated core, media, and database backup scripts to handle dynamic exclusion paths using a loop-based approach for --exclude options.
  • Revised logging mechanisms across all scripts to include detailed timestamps and step-specific logs for better traceability.
  • Improved script robustness by validating the Restic repository's accessibility upfront using restic snapshots.

Improved

  • Optimized all backup scripts to use efficient lock and unlock handling, ensuring smooth operation during concurrent backups and restores.
  • Standardized backup script flow across media, database, and core backups, including consistent use of environment variables and error handling.
  • Improved log formatting with more descriptive log messages and clear delineation of errors, warnings, and successes.
  • Reduced redundancy in password handling by centralizing Restic password retrieval logic.