45 lines
837 B
Bash
Executable File
45 lines
837 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
DOCKER_ROOT=/var/docker
|
|
BACKUP_TARGET=$DOCKER_ROOT/tmp
|
|
NAS_TARGET="$NAS_ROOT/daily/$HOST_NAME/backup.$DAY"
|
|
|
|
backup_daily1() {
|
|
BACKUP_SOURCE="/var"
|
|
BACKUP_EXCLUDE_DIRS=(docker)
|
|
}
|
|
|
|
backup_daily2() {
|
|
BACKUP_SOURCE="/var/docker"
|
|
BACKUP_EXCLUDE_DIRS=(vol tmp)
|
|
}
|
|
|
|
backup_daily3() {
|
|
BACKUP_SOURCE="/var/docker/vol"
|
|
BACKUP_EXCLUDE_DIRS=()
|
|
}
|
|
|
|
|
|
before_backup() {
|
|
dump_mariadb $DOCKER_ROOT/dump/mysql
|
|
local mys=$?
|
|
dump_postgresql $DOCKER_ROOT/dump/postgresql
|
|
local pos=$?
|
|
if [ $mys -gt 0 ] || [ $pos -gt 0 ]; then
|
|
return 1
|
|
fi
|
|
stop_containers
|
|
return $?
|
|
}
|
|
|
|
after_backup() {
|
|
start_containers
|
|
local dock=$?
|
|
copy_to_nas "$BACKUP_TARGET" "$NAS_TARGET"
|
|
local copy=$?
|
|
if [ $dock -eq 0 ] && [ $copy -eq 0 ]; then
|
|
return 0
|
|
fi
|
|
return 1
|
|
}
|