El siguiente script realiza un backup de todas las máquinas virtuales (VPS) que tengamos en nuestro hipervisor Proxmox.
El modo de uso de dicho script es insertarlo en el cron para que el backup se realice periódicamente y, de forma adicional, se puede poner otro script al final de cada backup para que envíe las copias realizadas a un servidor externo.
#!/bin/sh
RUTA_DUMPS="/var/lib/vz/dump/"
MAXIMO_COPIAS=5
for VZ_ID in `vzlist -1` ; do
VZ_HOSTNAME=`vzlist -o hostname -H ${VZ_ID}`
VZ_IP=`vzlist -o ip -H ${VZ_ID}`
VZ_DUMP="/var/lib/vz/dump/${VZ_HOSTNAME}_"`date '+%d%m%y%H%M%S'`".tgz"
echo ""
echo "vzid ${VZ_ID}"
echo "host ${VZ_HOSTNAME}"
echo "ip.ad ${VZ_IP}"
echo "dump ${VZ_DUMP}"
echo ""
#: descartando copias viejas
TOTAL_COPIAS=`ls ${RUTA_DUMPS}${VZ_HOSTNAME}* | wc -l`
NUMERO_DESCARTADOS=`echo "${TOTAL_COPIAS} - ${MAXIMO_COPIAS}" | bc`
DESCARTADOS=`ls ${RUTA_DUMPS}${VZ_HOSTNAME}* | head -n ${NUMERO_DESCARTADOS}`
for descartado in ${DESCARTADOS} ; do rm -f $descartado ; done
#: backuping
vzctl set ${VZ_ID} --ipdel all --save
cd /var/lib/vz/private/${VZ_ID}
tar cvzf ${VZ_DUMP} .
vzctl set ${VZ_ID} --ipadd ${VZ_IP} --save
done





