You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+7Lines changed: 7 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,10 @@
1
+
## 3.8.0 2023-03-27 <daveattiredofitdotca>
2
+
3
+
### Added
4
+
- Introduce DB_DUMP_TARGET_ARCHIVE which works with DB_ARCHIVE_TIME to move backups older than (x) minutes from DB_DUMP_TARGET to DB_DUMP_TARGET_ARCHIVE for use with external backup systems and custom exclude rules
5
+
- Introduce CREATE_LATEST_SYMLINK which creates a symbolic link in DB_DUMP_TARGET of `latest-(DB_TYPE)-(DB_NAME)-(DB_HOST)`
Copy file name to clipboardExpand all lines: README.md
+44-42Lines changed: 44 additions & 42 deletions
Original file line number
Diff line number
Diff line change
@@ -82,11 +82,11 @@ Clone this repository and build the image with `docker build <arguments> (imagen
82
82
### Prebuilt Images
83
83
Builds of the image are available on [Docker Hub](https://hub.docker.com/r/tiredofit/db-backup)
84
84
85
-
Builds of the image are also available on the [Github Container Registry](https://github.com/tiredofit/docker-db-backup/pkgs/container/docker-db-backup)
86
-
85
+
Builds of the image are also available on the [Github Container Registry](https://github.com/tiredofit/docker-db-backup/pkgs/container/docker-db-backup)
The following image tags are available along with their tagged release based on what's written in the [Changelog](CHANGELOG.md):
92
92
@@ -123,7 +123,7 @@ The following directories are used for configuration and can be mapped for persi
123
123
124
124
#### Base Images used
125
125
126
-
This image relies on an [Alpine Linux](https://hub.docker.com/r/tiredofit/alpine)or [Debian Linux](https://hub.docker.com/r/tiredofit/debian)base image that relies on an [init system](https://github.com/just-containers/s6-overlay) for added capabilities. Outgoing SMTP capabilities are handlded via `msmtp`. Individual container performance monitoring is performed by [zabbix-agent](https://zabbix.org). Additional tools include: `bash`,`curl`,`less`,`logrotate`, `nano`.
126
+
This image relies on an [Alpine Linux](https://hub.docker.com/r/tiredofit/alpine) base image that relies on an [init system](https://github.com/just-containers/s6-overlay) for added capabilities. Outgoing SMTP capabilities are handlded via `msmtp`. Individual container performance monitoring is performed by [zabbix-agent](https://zabbix.org). Additional tools include: `bash`,`curl`,`less`,`logrotate`, `nano`.
127
127
128
128
Be sure to view the following repositories to understand all the customizable options:
129
129
@@ -133,16 +133,17 @@ Be sure to view the following repositories to understand all the customizable op
|`BACKUP_LOCATION`| Backup to `FILESYSTEM` or `S3` compatible services like S3, Minio, Wasabi |`FILESYSTEM`|
139
+
|`MODE`|`AUTO` mode to use internal scheduling routines or `MANUAL` to simply use this as manual backups only executed by your own means |`AUTO`|
140
+
|`MANUAL_RUN_FOREVER`|`TRUE` or `FALSE` if you wish to try to make the container exit after the backup |`TRUE`|
141
+
|`TEMP_LOCATION`| Perform Backups and Compression in this temporary directory |`/tmp/backups/`|
142
+
|`DEBUG_MODE`| If set to `true`, print copious shell script messages to the container log. Otherwise only basic messages are printed. |`FALSE`|
143
+
|`CREATE_LATEST_SYMLINK`| Create a symbolic link pointing to last backup in this format: `latest-(DB_TYPE)-(DB_NAME)-(DB_HOST) |`TRUE`|
144
+
|`PRE_SCRIPT`| Fill this variable in with a command to execute pre backing up ||
145
+
|`POST_SCRIPT`| Fill this variable in with a command to execute post backing up ||
146
+
|`SPLIT_DB`| For each backup, create a new archive. `TRUE` or `FALSE` (MySQL and Postgresql Only) |`TRUE`|
146
147
147
148
### Database Specific Options
148
149
| Parameter | Description | Default |
@@ -163,38 +164,39 @@ Be sure to view the following repositories to understand all the customizable op
163
164
Your Organization will be mapped to `DB_USER` and your root token will need to be mapped to `DB_PASS`. You may use `DB_NAME=ALL` to backup the entire set of databases. For `DB_HOST` use syntax of `http(s)://db-name`
|`DB_DUMP_FREQ`| How often to do a dump, in minutes after the first backup. Defaults to 1440 minutes, or once per day. |`1440`|
169
-
|`DB_DUMP_BEGIN`| What time to do the first dump. Defaults to immediate. Must be in one of two formats ||
170
-
|| Absolute HHMM, e.g. `2330` or `0415`||
171
-
|| Relative +MM, i.e. how many minutes after starting the container, e.g. `+0` (immediate), `+10` (in 10 minutes), or `+90` in an hour and a half ||
172
-
|`DB_DUMP_TARGET`| Directory where the database dumps are kept. |`/backup`|
173
-
|`DB_CLEANUP_TIME`| Value in minutes to delete old backups (only fired when dump freqency fires). 1440 would delete anything above 1 day old. You don't need to set this variable if you want to hold onto everything. |`FALSE`|
|`DB_DUMP_FREQ`| How often to do a dump, in minutes after the first backup. Defaults to 1440 minutes, or once per day. |`1440`|
170
+
|`DB_DUMP_BEGIN`| What time to do the first dump. Defaults to immediate. Must be in one of two formats ||
171
+
|| Absolute HHMM, e.g. `2330` or `0415`||
172
+
|| Relative +MM, i.e. how many minutes after starting the container, e.g. `+0` (immediate), `+10` (in 10 minutes), or `+90` in an hour and a half ||
173
+
|`DB_DUMP_TARGET`| Directory where the database dumps are kept. |`${DB_DUMP_TARGET}/archive/`|
174
+
|`DB_DUMP_TARGET_ARCHIVE`| Optional Directory where the database dumps archivs are kept. |
175
+
|`DB_CLEANUP_TIME`| Value in minutes to delete old backups (only fired when dump freqency fires). 1440 would delete anything above 1 day old. You don't need to set this variable if you want to hold onto everything. |`FALSE`|
176
+
|`DB_ARCHIVE_TIME`| Value in minutes to move all files from `DB_DUMP_TARGET` to `DB_DUMP_TARGET_ARCHIVE` - which is useful when pairing against an external backup system. |
175
177
176
178
- You may need to wrap your `DB_DUMP_BEGIN` value in quotes for it to properly parse. There have been reports of backups that start with a `0` get converted into a different format which will not allow the timer to start at the correct time.
|`COMPRESSION`| Use either Gzip `GZ`, Bzip2 `BZ`, XZip `XZ`, ZSTD `ZSTD` or none `NONE`|`ZSTD`|
182
-
|`COMPRESSION_LEVEL`| Numberical value of what level of compression to use, most allow `1` to `9` except for `ZSTD` which allows for `1` to `19` - |`3`|
183
-
|`ENABLE_PARALLEL_COMPRESSION`| Use multiple cores when compressing backups `TRUE` or `FALSE`|`TRUE`|
184
-
|`PARALLEL_COMPRESSION_THREADS`| Maximum amount of threads to use when compressing - Integer value e.g. `8`|`autodetected`|
185
-
|`GZ_RSYNCABLE`| Use `--rsyncable` (gzip only) for faster rsync transfers and incremental backup deduplication. e.g. `TRUE`|`FALSE`|
186
-
|`ENABLE_CHECKSUM`| Generate either a MD5 or SHA1 in Directory, `TRUE` or `FALSE`|`TRUE`|
187
-
|`CHECKSUM`| Either `MD5` or `SHA1`|`MD5`|
188
-
|`EXTRA_OPTS`| If you need to pass extra arguments to the backup command, add them here e.g. `--extra-command`||
189
-
|`MYSQL_MAX_ALLOWED_PACKET`| Max allowed packet if backing up MySQL / MariaDB |`512M`|
190
-
|`MYSQL_SINGLE_TRANSACTION`| Backup in a single transaction with MySQL / MariaDB |`TRUE`|
191
-
|`MYSQL_STORED_PROCEDURES`| Backup stored procedures with MySQL / MariaDB |`TRUE`|
192
-
|`MYSQL_ENABLE_TLS`| Enable TLS functionality for MySQL client |`FALSE`|
193
-
|`MYSQL_TLS_VERIFY`| (optional) If using TLS (by means of MYSQL_TLS_* variables) verify remote host |`FALSE`|
194
-
|`MYSQL_TLS_VERSION`| What TLS `v1.1``v1.2``v1.3` version to utilize |`TLSv1.1,TLSv1.2,TLSv1.3`|
195
-
|`MYSQL_TLS_CA_FILE`| Filename to load custom CA certificate for connecting via TLS |`/etc/ssl/cert.pem`|
196
-
|`MYSQL_TLS_CERT_FILE`| Filename to load client certificate for connecting via TLS ||
197
-
|`MYSQL_TLS_KEY_FILE`| Filename to load client key for connecting via TLS ||
|`COMPRESSION`| Use either Gzip `GZ`, Bzip2 `BZ`, XZip `XZ`, ZSTD `ZSTD` or none `NONE`|`ZSTD`|
184
+
|`COMPRESSION_LEVEL`| Numberical value of what level of compression to use, most allow `1` to `9` except for `ZSTD` which allows for `1` to `19` - |`3`|
185
+
|`ENABLE_PARALLEL_COMPRESSION`| Use multiple cores when compressing backups `TRUE` or `FALSE`|`TRUE`|
186
+
|`PARALLEL_COMPRESSION_THREADS`| Maximum amount of threads to use when compressing - Integer value e.g. `8`|`autodetected`|
187
+
|`GZ_RSYNCABLE`| Use `--rsyncable` (gzip only) for faster rsync transfers and incremental backup deduplication. e.g. `TRUE`|`FALSE`|
188
+
|`ENABLE_CHECKSUM`| Generate either a MD5 or SHA1 in Directory, `TRUE` or `FALSE`|`TRUE`|
189
+
|`CHECKSUM`| Either `MD5` or `SHA1`|`MD5`|
190
+
|`EXTRA_OPTS`| If you need to pass extra arguments to the backup command, add them here e.g. `--extra-command`||
191
+
|`MYSQL_MAX_ALLOWED_PACKET`| Max allowed packet if backing up MySQL / MariaDB |`512M`|
192
+
|`MYSQL_SINGLE_TRANSACTION`| Backup in a single transaction with MySQL / MariaDB |`TRUE`|
193
+
|`MYSQL_STORED_PROCEDURES`| Backup stored procedures with MySQL / MariaDB |`TRUE`|
194
+
|`MYSQL_ENABLE_TLS`| Enable TLS functionality for MySQL client |`FALSE`|
195
+
|`MYSQL_TLS_VERIFY`| (optional) If using TLS (by means of MYSQL_TLS_* variables) verify remote host |`FALSE`|
196
+
|`MYSQL_TLS_VERSION`| What TLS `v1.1``v1.2``v1.3` version to utilize |`TLSv1.1,TLSv1.2,TLSv1.3`|
197
+
|`MYSQL_TLS_CA_FILE`| Filename to load custom CA certificate for connecting via TLS |`/etc/ssl/cert.pem`|
198
+
|`MYSQL_TLS_CERT_FILE`| Filename to load client certificate for connecting via TLS ||
199
+
|`MYSQL_TLS_KEY_FILE`| Filename to load client key for connecting via TLS ||
198
200
199
201
- When using compression with MongoDB, only `GZ` compression is possible.
0 commit comments