#!/bin/sh

set -e

_CONTAINER="${1}"

if [ -n "${_CONTAINER}" ]
then
	shift
else
	echo "Usage: ${0} CONTAINER [BACKUP_NUMBER]"
	exit 1
fi

if [ ! -x "$(which rsync 2>/dev/null)" ]
then
	echo "E: rsync - no such file"
	exit 1
fi

if [ ! -x "$(which lxc-info 2>/dev/null)" ]
then
	echo "E: lxc-info - no such file"
	exit 1
fi

if ! lxc-info -n ${_CONTAINER} 2>&1 | grep -qs "STOPPED"
then
	echo "E: ${_CONTAINER} - not stopped"
	exit 1
fi

# FIXME: Assumption of /var/lib/lxc
if [ -e /var/lib/lxc/${_CONTAINER}/rootfs ]
then
	if [ -n "${2}" ]
	then
		_BACKUP="${2}"
	else
		_BACKUP="1"

		while [ -e "/var/lib/lxc/${_CONTAINER}/rootfs.backup${_BACKUP}" ]
		do
			_BACKUP="$((${_BACKUP} + 1))"
		done
	fi

	rsync -aPHv --delete --progress /var/lib/lxc/${_CONTAINER}/rootfs/ /var/lib/lxc/${_CONTAINER}/rootfs.backup${_BACKUP}
fi
