From f232c11de62dda91c8786432373818d8b3614825 Mon Sep 17 00:00:00 2001 From: "Hahn Axel (hahn)" <axel.hahn@unibe.ch> Date: Thu, 27 Jul 2023 15:56:25 +0200 Subject: [PATCH] shell fixes; update help page --- check_fs_writable | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/check_fs_writable b/check_fs_writable index 881dc75..20c5443 100755 --- a/check_fs_writable +++ b/check_fs_writable @@ -8,10 +8,14 @@ # # ---------------------------------------------------------------------- # 2021-03-23 v0.0 <axel.hahn@iml.unibe.ch> +# 2023-07-27 v1.2 <axel.hahn@iml.unibe.ch> shell fixes; update help page # ====================================================================== -. `dirname $0`/inc_pluginfunctions +. $( dirname $0 )/inc_pluginfunctions + +self_APPNAME=$( basename $0 | tr [:lower:] [:upper:] ) +self_APPVERSION=1.2 dirs2test="/tmp /var/tmp" out="" @@ -21,18 +25,25 @@ out="" # ---------------------------------------------------------------------- function showHelp(){ + _self=$(basename $0) cat <<EOF ______________________________________________________________________ -CHECK_FS_READONLY check if filesystem is readonly - v0.0 +$self_APPNAME +v$self_APPVERSION (c) Institute for Medical Education - University of Bern Licence: GNU GPL 3 ______________________________________________________________________ +Check if a filesystem is readonly in given directories. +In each of the given directories a random file will be touched. + +The response is critical of one of the directory is not writable +for the icinga client user. SYNTAX: -`basename $0` [directory [more directories]] +$_self [directory [more directories]] OPTIONS: @@ -41,9 +52,12 @@ OPTIONS: PARAMETERS: DIRECTORY where to touch a temporary file + default directories: + $dirs2test EXAMPLE: -`basename $0` /tmp /root /var/www + + $_self /tmp /root /var/www EOF } @@ -73,11 +87,11 @@ test $# -gt 0 && dirs2test="$*" for mydir in $dirs2test do touchfile=$mydir/icinga_touch_testfile__${RANDOM}_${RANDOM} - out="$out + if ! out="$out --- touching something into $mydir - $( touch $touchfile && ls -l $touchfile && rm -f $touchfile 2>&1 )" - if [ $? -ne 0 ]; then + $( touch $touchfile 2>&1 && ls -l $touchfile && rm -f $touchfile )" + then ph.setStatus "critical" fi done @@ -86,7 +100,6 @@ done # ----- OUTPUT ph.status "check if filesystem is writable in $dirs2test $out" -#echo "$out" # ----- CLEANUP AND BYE! -- GitLab