## 4.1.1 2024-06-19 ### Changed - Fix issue where postgresql globals when backing up ALL not being deleted (#352) ## 4.1.0 2024-05-25 Note that arm/v7 builds have been removed from this release going forward ### Added - Introduce DEFAULT/DBXX_MYSQL_CLIENT option to use mariadb or mysql for client dumping to solve incompatibility issues - Alpine 3.20 Base - MariaDB 10.11.8 Client - AWS Client 1.32.113 - MySQL Client 8.4.0 ## 4.0.35 2024-01-14 ### Changed - Fix issue with emaail notifications and not being able to add from statement ## 4.0.34 2024-01-02 ### Changed - Change the way architectures are detected to re-enable backups with MSSQL and Influx2 ## 4.0.33 2023-12-18 ### Changed - Allow _OPTS variabls to contain spaces - Switch references of _DUMP_OPTS to _BACKUP_OPTS ## 4.0.32 2023-12-15 ### Changed - Fix issue with directories not properly being backed up (InfluxDB) ## 4.0.31 2023-12-12 ### Changed - Support backing up databases with spaces in them ## 4.0.30 2023-12-11 ### Added - Seperate each job with its own temporary folder for isolation and to better cleanup jobs that backup as a directory instead of a flat file ## 4.0.29 2023-12-04 ### Changed - Skip blobxfer if either account or key is not present ## 4.0.28 2023-12-04 ### Changed - AWS Cli 1.31.5 - Switch to using PIP for installing AWS-Cli to remove deprecation warnings ## 4.0.27 2023-12-04 ### Changed - Switch to using actual crontab for cron expressions ## 4.0.26 2023-11-30 ### Added - AWS CLI 1.31.4 ## 4.0.25 2023-11-29 ### Changed - Fix #297 - Add parameters to blobxfer to restore functionality ## 4.0.24 2023-11-28 ### Changed - Fix issue with cron parsing and 0 being a value getting clobbered by sort command ## 4.0.23 2023-11-28 ### Changed - Resolve issue with custom notification scripts not executing ## 4.0.22 2023-11-25 ### Changed - Move cleanup_old_data routines to happen within backup_ function to properly accomodate for globals, and ALL DB_NAME use cases ## 4.0.21 2023-11-22 ### Changed - Fix for SQLite backups not being cleaned up properly due to a malformed base ## 4.0.20 2023-11-21 ### Changed - Update base image to support S6 Overlay 3.1.6.2 to solve shutdown issues specifically with MODE=MANUAL and MANUAL_RUN_FOREVER=TRUE - Add some safety nets for Manual scheduling ## 4.0.19 2023-11-20 ### Changed - Make adjustments to cron scheduling feature to be able to handle whitespace properly" ## 4.0.18 2023-11-18 ### Changed - Fix loading msmtp configuration ## 4.0.17 2023-11-17 ### Changed - Provide more details when notifying via instant messages ## 4.0.16 2023-11-17 ### Changed - Switch to using msmtp instead of s-mail for notify() ## 4.0.15 2023-11-16 ### Changed - Fix cleanup of old backups ## 4.0.14 2023-11-13 ### Changed - Bugfix when PRE/POST scripts found not giving legacy warning - Run pre / post scripts as root ## 4.0.13 2023-11-12 ### Changed - Check for any quotes if using MONGO_CUSTOM_URI and remove ## 4.0.12 2023-11-12 ### Changed - Allow creating schedulers if _MONGO_CUSTOM_URI is set and _DB_HOST blank ## 4.0.11 2023-11-11 ### Changed - Resolve issue with backing up ALL databases with PGSQL and MySQL ## 4.0.10 2023-11-11 ### Changed - Change environment variable parsing routines to properly accomodate for Passwords containing '==' ## 4.0.9 2023-11-11 ### Changed - Fix issue with quotes being wrapped around _PASS variables ## 4.0.8 2023-11-11 ### Changed - Tidy up file_encryption() routines - Change environment variable _ENCRYPT_PUBKEY to _ENCRYPT_PUBLIC_KEY - Add new environment variable _ENCRYPT_PRIVATE_KEY ## 4.0.7 2023-11-11 ### Added - Add seperate permissions for _FILESYSTEM_PATH ### Changed - More output and debugging additions - SQLite3 now backs up without running into file permission/access problems - Cleanup old sqlite backups from temp directory - Handle multiple SQLite3 backups concurrently ## 4.0.6 2023-11-10 ### Added - Add additional DEBUG_ statements ### Changed - Fix issue with Influx DB not properly detecting the correct version ## 4.0.5 2023-11-10 ### Added - Add undocumented DBBACKUP_USER|GROUP environment variables for troubleshooting permissions - Add more verbosity when using DEBUG_ statements ### Changed - Change _FILESYSTEM_PERMISSION to 600 from 700 ## 4.0.4 2023-11-09 ### Added - Add support for restoring from different DB_ variables in restore script ## 4.0.3 2023-11-09 ### Changed - Resolve issue with _MYSQL_TLS_CERT_FILE not being read ## 4.0.2 2023-11-09 ### Changed - Properly use custom _S3_HOST variables ## 4.0.1 2023-11-09 ### Changed - Restore - Stop using DB_DUMP_TARGET and instead browse using DEFAULT_BACKUP_PATH ## 4.0.0 2023-11-08 This is the fourth major release to the DB Backup image which started as a basic MySQL backup service in early 2017. With each major release brings enhancements, bugfixes, removals along with breaking changes and this one is no different. This release brings functionality requested by the community such as multiple host backup support by means of independent scheduler tasks,blackout periods, better resource usage, better security via file encryption, file permissions, and more verbosity via log files. , and also merges contributions from other developers. Upgrading to this image should for the most part work for most users, but will involve event upgrading environment variables as the formathas changed significantly. Old variables should continue to work, however are unsupported and will be removed with the `4.3.0` release, whenever that will be. A significant amount of development hours were put in to accomodate for feature requests by the community. If you are using this in a commercial setting or find this image valuable, please consider sponsoring my work for a period of time or engaging in a private support offering. More details at https://www.tiredofit.ca/sponsor ### Added - Backup Multiple Hosts in same image all with different options (scheduling, compression, destination, cleanup) (Use `DBXX_option` variables) - Backup limits how many backup jobs run concurrently - Backup Scheduling now allows using a timestamp (e.g. `Dec 12 2023 03:00:00`) - credit benvia@github - Backup Scheduling now allows using a cron expression (e.g `00 03 * * *`) - Backup Blackout period to skip backing up during a period of time - Backup runs as dedicated user (no longer root) - Backup can have specific file permissions set upon completion (e.g. `700` or `rwx------`) - Backups can run with reduced priority mode to allow for fair scheduling across system - Backups - MySQL/MariaDB now has ability to backup events - Backups - Microsoft SQL server now has option to backup transaction logs - Backups - Postgres now backs up globals - credit oscarsiles@github - Backups with Azure synchronize storage before upload - credit eoehen@github - Encrypt backup file with a passphrase or a GPG Public Key ability - Log backup jobs to file along with log rotation - Notification support upon job failure via Email, Mattermost, Matrix, Rocketchat - Zabbix Metrics now auto discovers new jobs - Zabbix Metrics sends metrics relating to backed up filename, checksum hash, and the duration of backup/compression time, checksum time, encryption time - New Debug Capabilities ### Changed - Reworked Documentation - Reworked all functions and renamed all variables - Many variables now use a prefix of `DEFAULT_` to operate on all backup jobs - Can be overridden per backup job by setting `DB_