From ae86f52fa280b4b3ec4ac2ad2b854501f4071d7f Mon Sep 17 00:00:00 2001 From: Derek Crudgington Date: Thu, 20 Feb 2025 17:12:41 +0000 Subject: [PATCH] Fixed cron backuptool to select a random hour --- lib/functions.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/functions.sh b/lib/functions.sh index 55978a6..ee8b4c5 100644 --- a/lib/functions.sh +++ b/lib/functions.sh @@ -98,7 +98,13 @@ cat > /etc/logrotate.d/federated </dev/null; echo "30 21 * * * date >> /federated/logs/backup.log && /federated/bin/backuptool -b all >> /federated/logs/backup.log 2>&1") | sort -u | crontab - + + # Set a random cron hour for backup so we offset + # hitting backblaze at the same time all the time + CRONHOURS=("19" "20" "21" "22" "23" "1" "2" "3") + CRONHOUR_BACKUP="${CRONHOURS[ $RANDOM % ${#CRONHOURS[@]} ]}" + + (crontab -l 2>/dev/null; echo "30 $CRONHOUR_BACKUP * * * date >> /federated/logs/backup.log && /federated/bin/backuptool -b all >> /federated/logs/backup.log 2>&1") | sort -u | crontab - (crontab -l 2>/dev/null; echo "0 2 * * * date >> /federated/logs/upgrade.log && /federated/bin/upgrade >> /federated/logs/upgrade.log 2>&1") | sort -u | crontab - (crontab -l 2>/dev/null; echo "0 3 * * * date >> /federated/logs/dumpcerts.log && /federated/bin/dumpcerts >> /federated/logs/dumpcerts.log 2>&1") | sort -u | crontab - if [[ "${PLUS}" != "true" ]]; then