Prune VM backups after every run

This commit is contained in:
Râu Cao 2022-11-05 13:05:02 +01:00
parent 9c0764a2eb
commit 6df168f32f
Signed by: raucao
GPG Key ID: 15E65F399D084BA9
3 changed files with 19 additions and 0 deletions

View File

@ -0,0 +1,11 @@
#!/bin/bash
# GENERATED BY CHEF
# DO NOT EDIT
set -e
echo "Pruning backups of VM: $1"
borg prune --prefix $1 \
--keep-hourly 4 --keep-daily 4 --keep-weekly 1 \
--keep-monthly 1 --keep-yearly 1 \
--stats $BORG_REPO

View File

@ -45,6 +45,11 @@ cookbook_file "/root/backups/backup_vm.sh" do
mode "0750"
end
cookbook_file "/root/backups/prune_vm_backups.sh" do
source "prune_vm_backups.sh"
mode "0750"
end
# Search all guests and filter by presence on current host
vm_domains = search(:node, "role:kvm_guest").map{|n| n["hostname"] } \
& `virsh list --name`.strip.chomp.split("\n")

View File

@ -8,4 +8,7 @@ echo "Backing up all VMs with kvm_guest chef role..."
for domain in <%= @vm_domains.join(" ") %>
do
/root/backups/backup_vm.sh $domain
/root/backups/prune_vm_backups.sh $domain
# TODO Enable this when upgrading borg to 1.2
# borg compact $BORG_REPO
done