commit 02bbcc38788fca270d28ddc1cbff0e8592c1f19d Author: Alessandro Battilani Date: Wed Dec 20 16:32:38 2023 +0100 initial diff --git a/backup-lxd.sh b/backup-lxd.sh new file mode 100755 index 0000000..d65e72d --- /dev/null +++ b/backup-lxd.sh @@ -0,0 +1,32 @@ +#!/bin/bash +# Basic shell script to backup required LXD parts ## +## Backup and restore LXD config ## +## Today's date ## + +if [[ $1 = '' ]] +then + echo "use $0 virtual-machine|container" + exit +fi +NOW=$(date +'%m-%d-%Y') + +echo $(date) "Starting backup of LXD ..." +## 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-$(date +'%m-%d-%Y').tar.xz" --optimized-storage +done +echo $(date) "Backup of LXD ended." diff --git a/exclude-rsync.txt b/exclude-rsync.txt new file mode 100755 index 0000000..732c218 --- /dev/null +++ b/exclude-rsync.txt @@ -0,0 +1,6 @@ +.cache +.vscode +CacheStorage +*.log +*.old +CachedData diff --git a/rsync_usr_dir.sh b/rsync_usr_dir.sh new file mode 100755 index 0000000..9ea1b7b --- /dev/null +++ b/rsync_usr_dir.sh @@ -0,0 +1,8 @@ +echo "---- Rsync backup home dir started at $(date) ----" > /nfs/nas/Ubuntu-Backup/logs/rsync-backup.log +/usr/bin/rsync -arv --delete --exclude-from='/home/alex/scripts/exclude-rsync.txt' /home/alex /nfs/nas/Ubuntu-Backup/home/ >> /nfs/nas/Ubuntu-Backup/logs/rsync-backup.log 2>&1 +echo "---- Rsync backup home dir ended at $(date) ----" >> /nfs/nas/Ubuntu-Backup/logs/rsync-backup.log +echo "---- Rsync backup some config started at $(date) ----" >> /nfs/nas/Ubuntu-Backup/logs/rsync-backup.log +/usr/bin/rsync -arv --delete /etc/apt/keyrings /nfs/nas/Ubuntu-Backup/config >> /nfs/nas/Ubuntu-Backup/logs/rsync-backup.log 2>&1 +/usr/bin/rsync -arv --delete /etc/apt/sources.list.d /nfs/nas/Ubuntu-Backup/config >> /nfs/nas/Ubuntu-Backup/logs/rsync-backup.log 2>&1 +/usr/bin/rsync -arv --delete /etc/hosts /nfs/nas/Ubuntu-Backup/config >> /nfs/nas/Ubuntu-Backup/logs/rsync-backup.log 2>&1 +echo "---- Rsync backup same config ended at $(date) ----" >> /nfs/nas/Ubuntu-Backup/logs/rsync-backup.log diff --git a/update-lxc-contaier.sh b/update-lxc-contaier.sh new file mode 100755 index 0000000..30b4773 --- /dev/null +++ b/update-lxc-contaier.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +for i in $(lxc list type=container -c ns --format csv); do + echo $(date) "- Updating ${i%,*} container..." + if [ "${i#*,}" == "STOPPED" ]; then + echo $(date) "- Start container" + lxc start ${i%,*} + sleep 5 + else + echo $(date) "- Container is already started" + fi + lxc exec ${i%,*} -- sh -c "apt update" + sleep 5 + lxc exec ${i%,*} -- sh -c "apt upgrade -y" + sleep 5 + if [ "${i#*,}" == "STOPPED" ]; then + echo $(date) "- Stop container" + lxc stop ${i%,*} + fi +done