commit d87fb9336079c94feaa567fbfc53463722f66d82 Author: holzi1005 Date: Fri Nov 15 19:22:29 2024 +0100 Add distribted cron script diff --git a/distributed_cron.sh b/distributed_cron.sh new file mode 100644 index 0000000..966a733 --- /dev/null +++ b/distributed_cron.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash + +TIME=$(shuf -i 0-800 -n1) +sleep 0.$TIME +echo "Sleep for 0.$TIME" + +echo "Checking cron_lock file" +FILE=$1 + +if [ ! -f $FILE ] +then + echo $(hostname) > $FILE + echo "Create cron_lock for server" + + $2 + + if [ $? -ne 0 ] + then + echo "FAILED -- $(date) -- $(hostname)" >> $FILE.log + else + echo "OK -- $(date) -- $(hostname)" >> $FILE.log + fi + + echo "Job done. Keep lock for 30 seconds" + sleep 30 + rm $FILE + exit 0 +else + echo "Other Server is running cron job" +exit 0 \ No newline at end of file