#!/bin/bash -e START=$1 BACKUP_DIR="/root/backup" MACHINES="" for nspawn in $(ls /etc/systemd/nspawn/*.nspawn); do nspawn_file=$(basename $nspawn) machine=${nspawn_file%.*} if [ -d "/var/lib/risotto/srv/$machine" ]; then MACHINES="$MACHINES$machine " fi done cd /var/lib/risotto/srv/ mkdir -p "$BACKUP_DIR" for machine in $MACHINES; do machinectl stop $machine || true while true; do machinectl status "$machine" > /dev/null 2>&1 || break sleep 1 done BACKUP_FILE="$BACKUP_DIR/backup_$machine.tar.bz2" rm -f "$BACKUP_FILE" tar -cvJf $BACKUP_FILE $machine done if [ -z "$START" ]; then machinectl start $MACHINES fi exit 0