initial commit

This commit is contained in:
Thomas Constans 2020-10-03 22:41:19 +02:00
commit a51e957105
2 changed files with 61 additions and 0 deletions

5
borg.conf Normal file
View File

@ -0,0 +1,5 @@
REPOSITORY={{borg_account}}@{{ borg_server }}:{{ borg_remote_dir }}/{{ ansible_hostname }}
export BORG_PASSPHRASE={{ borg_passphrase }}
borg=/usr/bin/borg
rotate={{ borg_rotate }}
src="{{ borg_dirs }}"

56
borg.sh Normal file
View File

@ -0,0 +1,56 @@
#! /bin/bash
# wrapper around borgbackup
# need a borg.conf file - see example file
# need passwordless ssh access if using remote repo
conf=$(dirname $0)/borg.conf
if [ ! -f $conf ] ; then
echo config file not found
exit 5
fi
source $conf
TODAY=$(date "+%Y%m%d")
case $1 in
("list")
if [ ! -z $2 ] ; then
${borg} list $options ${REPOSITORY}::${2}
ret=$?
else
${borg} list $options $REPOSITORY
ret=$?
fi
;;
("check")
shift
# if arg: check archive, if not: check whole repo
if [ $# -eq 1 ] ; then
target=${REPOSITORY}::${1}
else
target=${REPOSITORY}
fi
${borg} check -v ${target}
ret=$?
;;
("extract")
${borg} extract ${REPOSITORY}::${2} ${3}
ret=$?
;;
(info)
yesterday=$(date -d "yesterday 13:00 " '+%Y%m%d')
yesterday_archive=${REPOSITORY}::$(hostname)_${yesterday}
$borg check -v $yesterday_archive
ret=$?
;;
(*)
${borg} create $options --compression lzma,5 $REPOSITORY::$(hostname)_${TODAY} ${src}
ret=$?
if [ $ret -eq 0 ] ; then
${borg} prune $options $REPOSITORY --prefix $(hostname)_ --keep-daily=${rotate}
fi
;;
esac
exit $ret