#!/bin/bash # Basic shell script to backup required LXD parts ## ## Backup and restore LXD config ## ## Today's date ## if [[ $1 != 'virtual-machine' ]] && [[ $1 != 'container' ]]; then echo "use $0 virtual-machine|container" exit fi NOW=$(date +'%Y-%m-%d') echo $(date) "Starting LXC backup ..." ## Dump LXD server config ## echo $(date) "Making backup of lxd.config ..." lxd init --dump >"/nfs/nas/LXD-Backup/lxd.config.${NOW}" ## Dump all instances list ## echo $(date) "Making backup of lxd.instances.list ..." lxc list >"/nfs/nas/LXD-Backup/lxd.instances.list.${NOW}" ## Make sure we know LXD version too ## echo $(date) "Making backup of lxd.version ..." snap list lxd >"/nfs/nas/LXD-Backup/lxd-version.${NOW}" ## Backup all container Instances for i in $(lxc list type=$1 -c n --format csv); do echo $(date) "Making backup of ${i} ..." lxc export "${i}" "/nfs/nas/LXD-Backup/${i}-backup-${NOW}.tar.xz" --optimized-storage done echo $(date) "LXD backup ended."