Prune VM backups after every run
This commit is contained in:
parent
9c0764a2eb
commit
6df168f32f
11
site-cookbooks/kosmos_kvm/files/prune_vm_backups.sh
Normal file
11
site-cookbooks/kosmos_kvm/files/prune_vm_backups.sh
Normal 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
|
@ -45,6 +45,11 @@ cookbook_file "/root/backups/backup_vm.sh" do
|
|||||||
mode "0750"
|
mode "0750"
|
||||||
end
|
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
|
# Search all guests and filter by presence on current host
|
||||||
vm_domains = search(:node, "role:kvm_guest").map{|n| n["hostname"] } \
|
vm_domains = search(:node, "role:kvm_guest").map{|n| n["hostname"] } \
|
||||||
& `virsh list --name`.strip.chomp.split("\n")
|
& `virsh list --name`.strip.chomp.split("\n")
|
||||||
|
@ -8,4 +8,7 @@ echo "Backing up all VMs with kvm_guest chef role..."
|
|||||||
for domain in <%= @vm_domains.join(" ") %>
|
for domain in <%= @vm_domains.join(" ") %>
|
||||||
do
|
do
|
||||||
/root/backups/backup_vm.sh $domain
|
/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
|
done
|
||||||
|
Loading…
x
Reference in New Issue
Block a user