#!/bin/bash PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin # 1 hour lock_delay=3600 [[ ! -x `which check_processes.bash` ]] && echo deploy check_processes.bash first && exit 1 [[ ! -x `which dos2unix` ]] && echo install dos2unix first && exit 1 [[ ! -x `which slack_webhook3.bash` ]] && echo deploy slack_webhook3.bash first && exit 1 time=`date +%s` output=`check_processes.bash` if (( $? != 0 )); then if [[ -f /tmp/check_processes.lock ]]; then previous_time=`cat /tmp/check_processes.lock` # lock delay has not been reached yet (( seconds_passed = time - previous_time )) if (( seconds_passed < lock_delay )); then (( seconds_left = lock_delay - seconds_passed )) echo previous lock is still active for $seconds_left seconds exit 0 fi unset previous_time fi echo -n writing new lock /tmp/check_processes.lock ... echo $time > /tmp/check_processes.lock && echo done # self-verbose slack_webhook3.bash check_processes@$HOSTNAME "$output" fi