initial
This commit is contained in:
32
backup-lxd.sh
Executable file
32
backup-lxd.sh
Executable 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
6
exclude-rsync.txt
Executable file
@@ -0,0 +1,6 @@
|
|||||||
|
.cache
|
||||||
|
.vscode
|
||||||
|
CacheStorage
|
||||||
|
*.log
|
||||||
|
*.old
|
||||||
|
CachedData
|
||||||
8
rsync_usr_dir.sh
Executable file
8
rsync_usr_dir.sh
Executable 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
20
update-lxc-contaier.sh
Executable 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
|
||||||
Reference in New Issue
Block a user