initial commit before setting up the remote

This commit is contained in:
Dave Lane 2019-10-14 02:54:32 +00:00
commit f5e570a776
3 changed files with 61 additions and 0 deletions

3
.gitignore vendored Normal file
View file

@ -0,0 +1,3 @@
*.conf
*~

36
run-restic.sh Executable file
View file

@ -0,0 +1,36 @@
#!/bin/bash
#
# OER Foundation backup routine: Restic
# 20190930 dave@oerfoundation.org
#
NICE='ionice -c2 nice -n19'
CMD=/usr/bin/restic
SCR=$0
CONF=site.conf
DIR=`dirname $SCR`
SCRNAME=`basename $SCR`
if [ -f $DIR/$CONF ] ; then
source $DIR/$CONF
else
echo "You need to create a site.conf in the same directory as $SCRNAME, i.e. $DIR."
exit 1
fi
DST=sftp:try.oerfoundation.org:/backup/make
PW=/root/restic.pw
TAG="daily"
LOG=/var/log/restic.log
ARGS="-r $DST --password-file $PW backup --tag $TAG --exclude-file=/restic.excludes --files-from /restic.files"
CLEAN="-r $DST --password-file $PW forget --tag $TAG --keep-daily 7 --keep-weekly 5 --keep-monthly 12 --keep-yearly 7"
# create a snapshot
DATE=`date`
echo "running snapshot $DATE" >> $LOG
$NICE $CMD $ARGS >> $LOG
# remove old snapshots
DATE=`date`
echo "running cleanup $DATE" >> $LOG
$NICE $CMD $CLEAN >> $LOG
# leave extra spaces
DATE=`date`
echo "done $DATE" >> $LOG
echo "" >> $LOG
echo "" >> $LOG

22
site.conf-sample Normal file
View file

@ -0,0 +1,22 @@
#
# this contains secrets for the site.
#
# The only required field
#
# local example
# replace /backup/myserver with something appropriate for you.
DST=/backup/myserver
#
# remote example
# replace backup.server and /backup/myserver with something appropriate for you.
# note, for this to work, you will need key-based SSH authentication to the backup.server
DST=sftp:backup.server:/backup/myserver
#
# Other overrides
#
# your backup repo password
PW=/root/restic.pw
# a tag for automated backups
TAG="daily"
# the log file on this machine for logging backups
LOG=/var/log/restic.log