Aquí os dejo uno de los scripts de backup que uso para hacer la copia de seguridad de los servidores con proxmox. Espero que os sea de ayuda :)
#!/bin/bash
## lmdb-backup (proxmox)
#### Loc: ******
#### OS: Debian 9 (container lxc)
#### Up: 2019/08/28 11:45 (Blackhold)
BACKUP_DIR="/mnt/hd_extern/backups_lmdb"
ID[0]="server1:x.x.x.x1"
ID[1]="server2:x.x.x.x2"
for INFO in "${ID[@]}"
do
HOST=`echo ${INFO} |awk -F ':' '{print $1}'`
IP=`echo ${INFO} |awk -F ':' '{print $2}'`
BACKUP_DIR_SERVER="${BACKUP_DIR}/${HOST}"
if [[ ! -e ${BACKUP_DIR_SERVER} ]]; then
mkdir ${BACKUP_DIR_SERVER}
mkdir ${BACKUP_DIR_SERVER}/daily
mkdir ${BACKUP_DIR_SERVER}/monday
mkdir ${BACKUP_DIR_SERVER}/15
mkdir ${BACKUP_DIR_SERVER}/28
mkdir ${BACKUP_DIR_SERVER}/lastmonth
fi
rsync -av --delete root@${IP}:/var/lib/vz2/dump/ ${BACKUP_DIR}/${HOST}/daily/dump/
rsync -av --delete root@${IP}:/var/lib/vz2/template/ ${BACKUP_DIR}/${HOST}/daily/template/
if [[ $(date +%e) -eq 28 ]]; then
echo Backup final de mes
rsync -av --delete ${BACKUP_DIR}/${HOST}/28/dump/ ${BACKUP_DIR}/${HOST}/lastmonth/dump/
rsync -av --delete ${BACKUP_DIR}/${HOST}/28/template/ ${BACKUP_DIR}/${HOST}/lasthmonth/template/
rsync -av --delete ${BACKUP_DIR}/${HOST}/daily/dump/ ${BACKUP_DIR}/${HOST}/28/dump/
rsync -av --delete ${BACKUP_DIR}/${HOST}/daily/template/ ${BACKUP_DIR}/${HOST}/28/template/
fi
if [[ $(date +%e) -eq 15 ]]; then
echo Backup dia 15
rsync -av --delete ${BACKUP_DIR}/${HOST}/daily/dump/ ${BACKUP_DIR}/${HOST}/15/dump/
rsync -av --delete ${BACKUP_DIR}/${HOST}/daily/template/ ${BACKUP_DIR}/${HOST}/15/template/
fi
if [[ $(date +%u) -eq 1 ]]; then
echo Backup dilluns
rsync -av --delete ${BACKUP_DIR}/${HOST}/daily/dump/ ${BACKUP_DIR}/${HOST}/monday/dump/
rsync -av --delete ${BACKUP_DIR}/${HOST}/daily/template/ ${BACKUP_DIR}/${HOST}/monday/template/
fi
done
Y lo añado en cron
root@lmdb-backup:~# vi /etc/cron.d/lmdb # backup planets - activated on 2019-08-18 - blackhold 30 1 * * * root /root/scripts/backup_nodes_planet_lmdb.sh
Por supuesto, para hacer funcionar el script es necesario instalar rsync y también poner la clave pública del servidor de backups en el autorized_keys (ssh) de los servidores que queramos hacer copia de seguridad. Recomiendo fervientemente que ninguno de los servidores ni contenedores, tenga acceso directo al servidor ssh, así en caso de intrusión o infección las copias de seguridad quedarán seguras en su sitio.