#!/bin/bash

set -eu
# __SILENT=TRUE
. /opt/fox_utils/crab_sys.sh
[ "${1:---help}" = "--help" ] && sys::usage "$@"
### --help Info: restore from local backup
### --help Usage: vz_cli|kvm_cli restore $VM_NAME
### --help Example:
# sys::arg_parse "$@"
VM_NAME=$1
if [ -d "/vz/backup/$VM_NAME" ]; then
	BACKUP_DIR="/vz/backup/$VM_NAME"
elif [ -d "/vz/backup/kvm_${VM_NAME}" ]; then
	BACKUP_DIR="/vz/backup/kvm_${VM_NAME}"
else
	echo "LOG_ERROR not found backup ${VM_NAME}"
	exit 255
fi

[ ! -d "$BACKUP_DIR/conf" ] && { echo "backup не обнаружен $BACKUP_DIR"; exit 255; }
mkdir -p "/opt/fox_conf/vm/"
rsync -a --delete "$BACKUP_DIR/conf/" "/opt/fox_conf/vm/$VM_NAME/"
rm -rf  --one-file-system "${BACKUP_DIR}/conf"
. /opt/fox_utils/fox_conf vm get "$VM_NAME"
if [ "$VM_TYPE" = "vz" ]; then
	PLOOP_PRIVATE="$VM_DISK"
elif [ "$VM_TYPE" = "kvm" ]; then
	PLOOP_PRIVATE="${VM_DISK/root/private}"
else
	exit 21
fi

mv -f "${BACKUP_DIR}/disk" "$PLOOP_PRIVATE"
rmdir "${BACKUP_DIR}"
rm -f /etc/vz/conf/${VM_CTID}.conf
cat $VM_DIR/ct.conf.gen > /etc/vz/conf/${VM_CTID}.conf

exit 0
