Fixed cron backuptool to select a random hour

This commit is contained in:
Derek Crudgington 2025-02-20 17:12:41 +00:00
parent d82da9206f
commit ae86f52fa2

View File

@ -98,7 +98,13 @@ cat > /etc/logrotate.d/federated <<EOF
notifempty
}
EOF
(crontab -l 2>/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