make backup.path comma separated list
continuous-integration/drone/pr Build is passing Details

This commit is contained in:
Philipp Rothmann 2021-11-23 17:38:31 +01:00
parent 53c4f1956a
commit f2472bd0d3
2 changed files with 8 additions and 5 deletions

View File

@ -37,11 +37,11 @@ services:
backupbot.backup: "true"
backupbot.backup.pre-hook: 'mysqldump -u root -p"$(cat /run/secrets/db_root_password)" -f /tmp/dump/dump.db'
backupbot.backup.post-hook: "rm -rf /tmp/dump/dump.db"
backupbot.backup.path: "/tmp/dump/"
backupbot.backup.path: "/tmp/dump/,/etc/foo/"
```
- `backupbot.backup` -- set to `true` to back up this service (REQUIRED)
- `backupbot.backup.path` -- file path within the service to copy (REQUIRED)
- `backupbot.backup.path` -- comma separated list of file paths within the service to copy (REQUIRED)
- `backupbot.backup.pre-hook` -- command to run before copying files (optional)
- `backupbot.backup.post-hook` -- command to run after copying files (optional)

View File

@ -88,16 +88,19 @@ if [[ \ $*\ != *\ --skip-backup\ * ]]; then
container=$(docker container ls -f "name=$service" --format '{{ .ID }}')
echo "backing up $service"
test -d "$backup_path/$service" || mkdir "$backup_path/$service"
if [ "$pre" != "null" ]; then
# run the precommand
# shellcheck disable=SC2086
docker exec "$container" sh -c "$pre"
fi
test -d "$backup_path/$service" || mkdir -p "$backup_path/$service"
# run the backup
docker cp "$container:$path" "$backup_path/$service"
for p in ${path//,/ }; do
docker cp "$container:$p" "$backup_path/$service"
done
if [ "$post" != "null" ]; then
# run the postcommand
@ -115,5 +118,5 @@ if [[ \ $*\ != *\ --skip-backup\ * ]]; then
fi
if [[ \ $*\ != *\ --skip-upload\ * ]]; then
_restic backup --tag coop-cloud "$backup_path"
_restic backup --host "$server_name" --tag coop-cloud "$backup_path"
fi