From 7063a03eefd9e268d62446e77008eccd6a4dea1a Mon Sep 17 00:00:00 2001 From: Darren 'Tadgy' Austin Date: Sat, 27 Jun 2026 15:21:19 +0100 Subject: [PATCH 1/3] Call the git version of dehydrated. --- dehydrated-wrapper | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dehydrated-wrapper b/dehydrated-wrapper index d5c0789..e27f453 100755 --- a/dehydrated-wrapper +++ b/dehydrated-wrapper @@ -2,4 +2,4 @@ #Delay the run for 15 hours (from midnight) and then run at a random time within 3 hours after that. sleep $(( 54000 + (RANDOM % 10800) )) -/opt/sbin/dehydrated -c >/dev/null +/opt/gitrepos/dehydrated.git/dehydrated -c >/dev/null From 5a4bb129067a872facb892563ba4274d912b64cb Mon Sep 17 00:00:00 2001 From: Darren 'Tadgy' Austin Date: Sat, 27 Jun 2026 15:36:16 +0100 Subject: [PATCH 2/3] Call daemon with correct args. Use git path for dehydrated-wrapper. --- cronjob-dehydrated | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cronjob-dehydrated b/cronjob-dehydrated index e388434..9d8b440 100755 --- a/cronjob-dehydrated +++ b/cronjob-dehydrated @@ -1,4 +1,4 @@ #!/bin/bash # Start the dehydrated-wrapper as a daemon, so that it doesn't prevent other cron jobs from running. -daemon /opt/sbin/dehydrated-wrapper +daemon -N -a 60 -l daemon.err -b daemon.debug -o daemon.info -n dehydrated-wrapper /opt/gitrepos/random-commands.git/dehydrated-wrapper From 40078e2972dac490db1831215177fe8b44efd0f1 Mon Sep 17 00:00:00 2001 From: Darren 'Tadgy' Austin Date: Sat, 27 Jun 2026 15:39:53 +0100 Subject: [PATCH 3/3] Use flock to prevent multiple instances running. --- cronjob-update-mirrors-search-db | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/cronjob-update-mirrors-search-db b/cronjob-update-mirrors-search-db index 56adf9c..85c965e 100755 --- a/cronjob-update-mirrors-search-db +++ b/cronjob-update-mirrors-search-db @@ -6,6 +6,21 @@ SCANDIR="/data/depository" DBFILE="/data/sites/slackware.uk/files/repository-search/search.db" RUNAS_GROUP="depository" +# Only allow one copy of the script to run at any time. +# shellcheck disable=SC2154 +if [[ "$FLOCK" != "$0" ]]; then + # shellcheck disable=SC2093 + exec env FLOCK="$0" flock -E 10 -e -n "$0" "$0" "$@" + ERR="$?" + if (( ERR == 10 )); then + # File is locked, exit now. + exit 0 + elif (( ERR > 0 )); then + printf "%s: %s\\n" "${0##*/}" "flock execution error" >&2 + exit 1 + fi +fi + RAND="$$$RANDOM" if ionice -c3 nice -n 19 sg "$RUNAS_GROUP" -c "/opt/bin/updatedb -l no -o \"$DBFILE.$RAND\" -U \"$SCANDIR\" >/dev/null 2>&1"; then