#!/bin/bash #this script makes a copy of each container and backups afterwards the copies #set -x backuppath='/home/rick-monitoring/backup/' backupuser='rick-monitoring' #some validations if [ ! -d ${backuppath} ] then echo "Please set a backup directory which is accessible by this script" exit 2 fi id $backupuser > /dev/null 2>&1 if [ $? ! -eq 0 ] then echo "Please set a valid user within this script" exit 2 fi for container in $(lxc list --format csv -c n | grep -v backup); do lxc copy ${container} ${container}-backup lxc export ${container}-backup ${backuppath}$(date +%Y_%m_%d)-${container}.tar.gz --optimized-storage lxc delete ${container}-backup done #own data for backupuser chown -R ${backupuser}:${backupuser} ${backuppath}