35 lines
778 B
Bash
35 lines
778 B
Bash
#! /bin/bash
|
|
|
|
set -eu -o pipefail
|
|
|
|
burpconf=/etc/burp/burp.conf
|
|
numFiles=10
|
|
restoreFolder=/tmp/test_restauration
|
|
|
|
IFS=$(echo -ne '\b\n')
|
|
|
|
function _getRandomBurpFolders {
|
|
folderList=$(awk -F " = " '/^include/{ print $2}' $burpconf)
|
|
echo $folderList | sort --random-sort | tail -n 1
|
|
}
|
|
|
|
function _getRandomBackup {
|
|
burp -a l | awk '{ print $2}' | sort --random-sort | tail -n 1
|
|
}
|
|
|
|
function _getRandomFile {
|
|
f=$(_getRandomBurpFolders )
|
|
test -d "${f}" || { echo "error opening $f" ; exit 1 ; }
|
|
find $f -type f | sort --random-sort | tail -n ${numFiles}
|
|
}
|
|
|
|
backup=$(_getRandomBackup)
|
|
|
|
files=$(_getRandomFile )
|
|
|
|
for file in $files ; do
|
|
echo "Trying to restore ${file} from backup #${backup}"
|
|
burp -a r -b ${backup} -r "${file}" -d ${restoreFolder}
|
|
done
|
|
|
|
exit $? |