restic set tags
In a follow up to previous post https://blog.ls-al.com/restic-create-backup-and-set-tag-with-date-logic here is some code I used to set tags on old snapshots to comply with my new tagging and pruning.
# cat backup-tags-set.sh
#!/bin/bash
create_tag () {
tag=daily
if [ $(date -d $1 +%a) == Sun ]; then tag=weekly ; fi
if [ $(date -d $1 +%d) == 01 ]; then
tag=monthly
if [ $(date -d $1 +%b) == Jan ]; then
tag=yearly
fi
fi
}
create_tag
echo backup policy: $tag
#source /root/.restic.env
snapshotids=$(restic snapshots -c | egrep -v ID|snapshots|-- | awk '//{print $1;}')
for snapshotid in $snapshotids
do
snapdate=$(restic snapshots $snapshotid -c | egrep -v ID|snapshots|-- | awk '//{print $2;}')
create_tag $snapdate
echo Making a tag for: $snapshotid - $snapdate - $(date -d $snapdate +%a) - $tag
restic tag --set $tag $snapshotid
done
Run
# ./backup-tags-set.sh
backup policy: daily
Making a tag for: 0b88eefa - 2019-03-27 - Wed - daily
repository 00cde088 opened successfully, password is correct
create exclusive lock for repository
modified tags on 1 snapshots
Making a tag for: d76811ac - 2019-03-27 - Wed - daily
repository 00cde088 opened successfully, password is correct
create exclusive lock for repository
modified tags on 1 snapshots