This commit is contained in:
2023-12-20 16:32:38 +01:00
commit 02bbcc3878
4 changed files with 66 additions and 0 deletions

32
backup-lxd.sh Executable file
View File

@@ -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."

6
exclude-rsync.txt Executable file
View File

@@ -0,0 +1,6 @@
.cache
.vscode
CacheStorage
*.log
*.old
CachedData

8
rsync_usr_dir.sh Executable file
View File

@@ -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

20
update-lxc-contaier.sh Executable file
View File

@@ -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