summaryrefslogtreecommitdiff
path: root/ops/backup-jenkins.sh
blob: 46975501eb90dbc1cc62496ac62bff90c820819d (plain)
1
2
3
4
5
6
7
8
9
10
11
#!/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"