Backup all Proxmox OpenVZ containers in one go
Category : How-to
The below script is a bash script which works with Proxmox and the OpenVZ commands to backup all known containers to a specified folder.
You will need to set BACKUP_PATH to be the folder where you would like the backups to be stored and COMPRESS to a value which specifies the compression used. COMPRESS values can be:
- 0 – no compression.
- 1 – default compression (usually lzo).
- gzip – gzip compression.
- lzo – lzo compression.
Paste the below file into /bin/backup_all and make sure it’s executable.
vi /bin/backup-all
#!/bin/bash
#
# Filename : backup_all
# Description : Backup all OpenVZ containers in Proxmox
# Author : James Coyle
#
# Version:
# -Date -Author -Description
# 20-11-2013 James Coyle Initial
#
#
BACKUP_PATH=/var/lib/vz/dump
COMPRESS="lzo"
# Check dir exists
if [ ! -d $BACKUP_PATH ]; then
echo "The directory $BACKUP_PATH does not exist."
exit 99
fi
IFS=$'\n'
VMARRAY=($(vzlist -a -H))
VMIDS=""
for V in ${VMARRAY[@]}
do
VMIDS="$VMIDS ${V:7:3}"
done
if [ -n $VMIDS ]; then
vzdump $VMIDS --dumpdir $BACKUP_PATH --mode snapshot --compress $COMPRESS --remove 0
fi
echo "Backup of VMID(s) $VMIDS complete."