mirror of
https://github.com/offen/docker-volume-backup.git
synced 2026-04-15 05:45:34 +02:00
Allow multiple schedules in the same container (#78)
* Allow mounting of config directory for multiple schedules * Add docs for conf.d feature * Fix behavior on multiple files * Define default case first in entrypoint script
This commit is contained in:
@@ -21,7 +21,7 @@ services:
|
||||
volumes:
|
||||
- webdav_backup_data:/var/lib/dav
|
||||
|
||||
backup: &default_backup_service
|
||||
backup:
|
||||
image: offen/docker-volume-backup:${TEST_VERSION:-canary}
|
||||
hostname: hostnametoken
|
||||
depends_on:
|
||||
|
||||
1
test/confd/.gitignore
vendored
Normal file
1
test/confd/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
local
|
||||
2
test/confd/backup.env
Normal file
2
test/confd/backup.env
Normal file
@@ -0,0 +1,2 @@
|
||||
BACKUP_FILENAME="conf.tar.gz"
|
||||
BACKUP_CRON_EXPRESSION="*/1 * * * *"
|
||||
22
test/confd/docker-compose.yml
Normal file
22
test/confd/docker-compose.yml
Normal file
@@ -0,0 +1,22 @@
|
||||
version: '3'
|
||||
|
||||
services:
|
||||
backup:
|
||||
image: offen/docker-volume-backup:${TEST_VERSION:-canary}
|
||||
restart: always
|
||||
volumes:
|
||||
- ./local:/archive
|
||||
- app_data:/backup/app_data:ro
|
||||
- ./backup.env:/etc/dockervolumebackup/conf.d/00backup.env
|
||||
- ./never.env:/etc/dockervolumebackup/conf.d/10never.env
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
|
||||
offen:
|
||||
image: offen/offen:latest
|
||||
labels:
|
||||
- docker-volume-backup.stop-during-backup=true
|
||||
volumes:
|
||||
- app_data:/var/opt/offen
|
||||
|
||||
volumes:
|
||||
app_data:
|
||||
2
test/confd/never.env
Normal file
2
test/confd/never.env
Normal file
@@ -0,0 +1,2 @@
|
||||
BACKUP_FILENAME="never.tar.gz"
|
||||
BACKUP_CRON_EXPRESSION="0 0 5 31 2 ?"
|
||||
26
test/confd/run.sh
Executable file
26
test/confd/run.sh
Executable file
@@ -0,0 +1,26 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
cd $(dirname $0)
|
||||
|
||||
mkdir -p local
|
||||
|
||||
docker-compose up -d
|
||||
|
||||
# sleep until a backup is guaranteed to have happened on the 1 minute schedule
|
||||
sleep 100
|
||||
|
||||
docker-compose down --volumes
|
||||
|
||||
if [ ! -f ./local/conf.tar.gz ]; then
|
||||
echo "[TEST:FAIL] Config from file was not used."
|
||||
exit 1
|
||||
fi
|
||||
echo "[TEST:PASS] Config from file was used."
|
||||
|
||||
if [ -f ./local/never.tar.gz ]; then
|
||||
echo "[TEST:FAIL] Unexpected file was found."
|
||||
exit 1
|
||||
fi
|
||||
echo "[TEST:PASS] Unexpected cron did not run."
|
||||
Reference in New Issue
Block a user