Files
dropshell-templates/logclient/backup.sh
Your Name 7851aa810b
All checks were successful
Test and Publish Templates / test-and-publish (push) Successful in 38s
significant tidying to logserver
2025-09-20 10:33:08 +12:00

32 lines
844 B
Bash
Executable File

#!/bin/bash
source "${AGENT_PATH}/common.sh"
source "$(dirname "${BASH_SOURCE[0]}")/_volumes.sh"
_check_required_env_vars "CONTAINER_NAME"
echo "Backing up ${CONTAINER_NAME} volumes..."
# Stop the container to ensure data consistency
bash ./stop.sh || true
# Backup volumes
BACKUP_DIR="${CONFIG_PATH}/backups/$(date +%Y%m%d_%H%M%S)"
mkdir -p "$BACKUP_DIR"
# Export volumes
for volume in $(get_logclient_volumes); do
volume_name=$(echo $volume | cut -d: -f3)
echo "Backing up volume: $volume_name"
docker run --rm -v "$volume_name:/source:ro" -v "$BACKUP_DIR:/backup" alpine \
tar -czf "/backup/${volume_name}.tar.gz" -C /source .
done
# Backup configuration
cp -r "${CONFIG_PATH}" "$BACKUP_DIR/config_backup"
echo "Backup completed to: $BACKUP_DIR"
# Restart the container
bash ./start.sh
echo "Container restarted"