#!/usr/bin/env bash # Backup Jenkins home volume to /root/backups/. Run via cron for safety. set -euo pipefail DEST=/root/backups mkdir -p "$DEST" STAMP=$(date +%Y%m%d-%H%M%S) docker run --rm -v jenkins-data:/vd:ro -v "$DEST":/backup alpine \ tar czf "/backup/jenkins-home-$STAMP.tar.gz" -C /vd . # keep last 7 ls -1t "$DEST"/jenkins-home-*.tar.gz | tail -n +8 | xargs -r rm -f echo "backup done: $DEST/jenkins-home-$STAMP.tar.gz"