diff --git a/ChangeLog b/ChangeLog index 1af0e2a8c0c85c78d7e6de849b7b74a4253917ab..7639b5ff5fb38f95f17c16e384b65cb2359f53b5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2009-09-23 Per Cederqvist <ceder@ryttargardskyrkan.se> + + Initial support for restoring backups. + * lysrdiff-restore: Initial commit of a script that can restore a + single task in a reasonably controlled manner. + 2009-08-19 Per Cederqvist <ceder@ryttargardskyrkan.se> Updated the config for Ryttargardskyrkan. diff --git a/lysrdiff-restore b/lysrdiff-restore new file mode 100755 index 0000000000000000000000000000000000000000..86be7fda7f96f45fa00d50c8b327f2792acf8719 --- /dev/null +++ b/lysrdiff-restore @@ -0,0 +1,38 @@ +#!/bin/sh + +# Do a complete restore of a single task. + +if [ $# != 6 ] +then + usage + exit 1 +fi + +disk="$1" +part="$2" +lysrdiffpart="$1/$2" +category="$3" +subcategory="$4" +server="$5" +serverpath="$6" + +remoterdiff=/opt/LYSrdiff/bin/rdiff-backup + +lysrdiff="/lysrdiff/$disk/perm/$part/lysrdiff" +base="$lysrdiff/backups/$category/$subcategory" +files="$base"/files +lockdir="$base"/lock + +mkdir "$lockdir" || exit 1 + +unset SSH_ASKPASS +unset SSH_AUTH_SOCK + +schema="ssh -o BatchMode=yes -o ServerAliveInterval=120" +schema="$schema -a -k -x -i /root/.ssh/backupkey" +schema="$schema %s $remoterdiff --server" + +rdiff-backup --remote-schema "$schema" --null-separator \ + -r now "$files" "$server"::"$serverpath" + +rmdir "$lockdir"