mirror of
https://github.com/offen/docker-volume-backup.git
synced 2025-12-05 17:18:02 +01:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b2d4c48082 | ||
|
|
2b7f0c52c0 | ||
|
|
cc912d7b64 | ||
|
|
26c8ba971f | ||
|
|
3f10d0f817 |
@@ -10,7 +10,7 @@ COPY cmd/backup ./cmd/backup/
|
||||
WORKDIR /app/cmd/backup
|
||||
RUN go build -o backup .
|
||||
|
||||
FROM alpine:3.15
|
||||
FROM alpine:3.16
|
||||
|
||||
WORKDIR /root
|
||||
|
||||
|
||||
@@ -1113,9 +1113,9 @@ services:
|
||||
database:
|
||||
image: mariadb:latest
|
||||
labels:
|
||||
- docker-volume-backup.exec-pre=/bin/sh -c 'mysqldump -psecret --all-databases > /tmp/dumps/dump.sql'
|
||||
- docker-volume-backup.archive-pre=/bin/sh -c 'mysqldump -psecret --all-databases > /tmp/dumps/dump.sql'
|
||||
volumes:
|
||||
- app_data:/tmp/dumps
|
||||
- data:/tmp/dumps
|
||||
backup:
|
||||
image: offen/docker-volume-backup:v2
|
||||
environment:
|
||||
|
||||
@@ -534,7 +534,8 @@ func (s *script) copyArchive() error {
|
||||
ContentType: "application/tar+gzip",
|
||||
StorageClass: s.c.AwsStorageClass,
|
||||
}); err != nil {
|
||||
return fmt.Errorf("copyBackup: error uploading backup to remote storage: %w", err)
|
||||
errResp := minio.ToErrorResponse(err)
|
||||
return fmt.Errorf("copyBackup: error uploading backup to remote storage: [Message]: '%s', [Code]: %s, [StatusCode]: %d", errResp.Message, errResp.Code, errResp.StatusCode)
|
||||
}
|
||||
s.logger.Infof("Uploaded a copy of backup `%s` to bucket `%s`.", s.file, s.c.AwsS3BucketName)
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@ if [ ! -d "/etc/dockervolumebackup/conf.d" ]; then
|
||||
else
|
||||
echo "/etc/dockervolumebackup/conf.d was found, using configuration files from this directory."
|
||||
|
||||
crontab -r && touch /etc/crontabs/root
|
||||
for file in /etc/dockervolumebackup/conf.d/*; do
|
||||
source $file
|
||||
BACKUP_CRON_EXPRESSION="${BACKUP_CRON_EXPRESSION:-@daily}"
|
||||
|
||||
@@ -17,6 +17,20 @@ services:
|
||||
volumes:
|
||||
- app_data:/tmp/volume
|
||||
|
||||
other_database:
|
||||
image: mariadb:10.7
|
||||
deploy:
|
||||
restart_policy:
|
||||
condition: on-failure
|
||||
environment:
|
||||
MARIADB_ROOT_PASSWORD: test
|
||||
MARIADB_DATABASE: backup
|
||||
labels:
|
||||
- docker-volume-backup.archive-pre=touch /tmp/volume/not-relevant.txt
|
||||
- docker-volume-backup.exec-label=not-relevant
|
||||
volumes:
|
||||
- app_data:/tmp/volume
|
||||
|
||||
backup:
|
||||
image: offen/docker-volume-backup:${TEST_VERSION:-canary}
|
||||
deploy:
|
||||
|
||||
@@ -18,6 +18,11 @@ if [ ! -f ./backup/data/dump.sql ]; then
|
||||
fi
|
||||
pass "Found expected file."
|
||||
|
||||
if [ -f ./backup/data/not-relevant.txt ]; then
|
||||
fail "Command ran for container with other label."
|
||||
fi
|
||||
pass "Command did not run for container with other label."
|
||||
|
||||
if [ -f ./backup/data/post.txt ]; then
|
||||
fail "File created in post command was present in backup."
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user