forked from michael.heier/citadel-core
47 lines
1.0 KiB
Bash
Executable File
47 lines
1.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# SPDX-FileCopyrightText: 2020 Umbrel. https://getumbrel.com
|
|
#
|
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
set -euo pipefail
|
|
|
|
CITADEL_ROOT="$(readlink -f $(dirname "${BASH_SOURCE[0]}")/../..)"
|
|
MAX_BACKUP_INTERVAL_IN_HOURS="12"
|
|
|
|
check_if_not_already_running() {
|
|
if ps ax | grep $0 | grep -v $$ | grep bash | grep -v grep
|
|
then
|
|
echo "decoy trigger is already running"
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
check_dependencies () {
|
|
for cmd in "$@"; do
|
|
if ! command -v "$cmd" >/dev/null 2>&1; then
|
|
echo "This script requires \"${cmd}\" to be installed"
|
|
exit 1
|
|
fi
|
|
done
|
|
}
|
|
|
|
check_if_not_already_running
|
|
|
|
check_dependencies shuf
|
|
|
|
main () {
|
|
while true; do
|
|
minutes_in_seconds="60"
|
|
hours_in_seconds="$((60 * ${minutes_in_seconds}))"
|
|
max_interval="$((${MAX_BACKUP_INTERVAL_IN_HOURS} * ${hours_in_seconds}))"
|
|
delay="$(shuf -i 0-${max_interval} -n 1)"
|
|
echo "Sleeping for ${delay} seconds..."
|
|
sleep $delay
|
|
echo "Triggering decoy backup..."
|
|
touch "${CITADEL_ROOT}/events/signals/backup"
|
|
done
|
|
}
|
|
|
|
main
|