feat(backup): add audited backup listing and restoration
This commit is contained in:
+37
-4
@@ -5,11 +5,44 @@ command_name=${0##*/}
|
||||
printf '%q' "$command_name" >>"$TEST_MOCK_LOG"
|
||||
for argument in "$@"; do printf ' %q' "$argument" >>"$TEST_MOCK_LOG"; done
|
||||
printf '\n' >>"$TEST_MOCK_LOG"
|
||||
[[ $# == 2 && $1 == -n && $2 =~ ^[0-9]+$ ]] || exit 99
|
||||
if [[ -n ${MOCK_FLOCK_CHANGE_TO:-} && -z ${MOCK_FLOCK_CHANGED_MARKER:-} && -f $MOCK_FLOCK_CHANGE_TO && -n ${WG_MANAGER_CONFIG:-} ]]; then
|
||||
cp -- "$MOCK_FLOCK_CHANGE_TO" "$WG_MANAGER_CONFIG"
|
||||
export MOCK_FLOCK_CHANGED_MARKER=1
|
||||
fi
|
||||
if [[ ${MOCK_FLOCK_BUSY:-0} == 1 ]]; then exit 1; fi
|
||||
if [[ ${MOCK_FLOCK_FAIL:-0} == 1 ]]; then exit 97; fi
|
||||
exit 0
|
||||
if [[ $# == 2 && $1 == -n && $2 =~ ^[0-9]+$ ]]; then
|
||||
[[ ${MOCK_FLOCK_BUSY:-0} == 1 ]] && exit 1
|
||||
[[ ${MOCK_FLOCK_FAIL:-0} == 1 ]] && exit 97
|
||||
exit 0
|
||||
fi
|
||||
if [[ $# -ge 3 && $1 == -n && $2 =~ ^[0-9]+$ && ( $3 == printf || $3 == cat ) ]]; then
|
||||
[[ ${MOCK_FLOCK_BUSY:-0} == 1 ]] && exit 1
|
||||
[[ ${MOCK_FLOCK_FAIL:-0} == 1 ]] && exit 97
|
||||
shift 2
|
||||
command "$@"
|
||||
exit $?
|
||||
fi
|
||||
if [[ $# == 1 && $1 =~ ^[0-9]+$ || $# == 2 && $1 == -s && $2 =~ ^[0-9]+$ ]]; then
|
||||
[[ ${MOCK_FLOCK_BUSY:-0} == 1 ]] && exit 1
|
||||
[[ ${MOCK_FLOCK_FAIL:-0} == 1 ]] && exit 97
|
||||
real_flock=${REAL_FLOCK:-}
|
||||
if [[ -z $real_flock ]]; then
|
||||
for candidate in /usr/bin/flock /bin/flock; do
|
||||
if [[ -x $candidate ]]; then real_flock=$candidate; break; fi
|
||||
done
|
||||
fi
|
||||
[[ -n $real_flock ]] || exit 98
|
||||
exec "$real_flock" "$@"
|
||||
fi
|
||||
if [[ $# -ge 2 && ( $1 == -s || $1 != -* ) && ${1#-} =~ ^[0-9]+$ || $1 == -s && ${2:-} =~ ^[0-9]+$ ]]; then
|
||||
[[ ${MOCK_FLOCK_BUSY:-0} == 1 ]] && exit 1
|
||||
[[ ${MOCK_FLOCK_FAIL:-0} == 1 ]] && exit 97
|
||||
real_flock=${REAL_FLOCK:-}
|
||||
if [[ -z $real_flock ]]; then
|
||||
for candidate in /usr/bin/flock /bin/flock; do
|
||||
if [[ -x $candidate ]]; then real_flock=$candidate; break; fi
|
||||
done
|
||||
fi
|
||||
[[ -n $real_flock ]] || exit 98
|
||||
exec "$real_flock" "$@"
|
||||
fi
|
||||
exit 99
|
||||
|
||||
Reference in New Issue
Block a user