From fdbc34e5cc6bc97485831000025906fe6dcd18dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gardais=20J=C3=A9r=C3=A9my?= Date: Mon, 6 Jul 2020 16:16:25 +0200 Subject: [PATCH] Exit if all SGE queues were manually disabled --- cluster/sge.enable.host.queue.sh | 38 ++++++++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/cluster/sge.enable.host.queue.sh b/cluster/sge.enable.host.queue.sh index 049642b..7b17cd8 100755 --- a/cluster/sge.enable.host.queue.sh +++ b/cluster/sge.enable.host.queue.sh @@ -136,6 +136,8 @@ ${sge_hostname} is not the current host." ## List of files to monitor file_nologin_path="/etc/nologin" + cluster_dir="/opt/ipr/cluster" + sge_queue_flag_pattern="${cluster_dir}/.sge.*.disable" } # }}} is_current_host() { # {{{ @@ -224,25 +226,48 @@ procs running (with the pattern: ${RED}${local_proc_pattern}${COLOR_DEBUG}) on t # }}} is_file_present() { # {{{ - local_file_path="${1}" + local_file_present="${1}" ## File doesn't exist by default return_is_file_present="1" ### Check if the file exists # shellcheck disable=SC2086 - if find ${local_file_path} > /dev/null 2>&1; then + if find ${local_file_present} > /dev/null 2>&1; then return_is_file_present="0" debug_message "is_file_present − \ -The file ${RED}${local_file_path}${COLOR_DEBUG} exists." +The file ${RED}${local_file_present}${COLOR_DEBUG} exists." else return_is_file_present="1" debug_message "is_file_present − \ -The file ${RED}${local_file_path}${COLOR_DEBUG} doesn't exist." +The file ${RED}${local_file_present}${COLOR_DEBUG} doesn't exist." fi return "${return_is_file_present}" +} +# }}} +is_file_absent() { # {{{ + + local_file_absent="${1}" + + ## File exists by default + return_is_file_absent="1" + + ### Check if the file exists + # shellcheck disable=SC2086 + if find ${local_file_absent} > /dev/null 2>&1; then + return_is_file_absent="1" + debug_message "is_file_absent − \ +The file ${RED}${local_file_absent}${COLOR_DEBUG} exists." + else + return_is_file_absent="0" + debug_message "is_file_absent − \ +The file ${RED}${local_file_absent}${COLOR_DEBUG} doesn't exist." + fi + + return "${return_is_file_absent}" + } # }}} is_queue_enable() { # {{{ @@ -397,6 +422,11 @@ main() { # {{{ ### Exit is_file_present "${file_nologin_path}" \ && exit 0 + + ## If all SGE queue(s) were manually disabled + ### Exit + is_file_absent "${sge_queue_flag_pattern}" \ + || exit 0 fi ## Simple debug message with color to valid current variables