186 lines
4.1 KiB
Bash
186 lines
4.1 KiB
Bash
#! /bin/bash
|
|
|
|
function e {
|
|
echo -ne "${1}\t"
|
|
}
|
|
|
|
#ok if given program returns given code
|
|
# arg1: program to run
|
|
# arg2: expected return code (default 0)
|
|
function exitCodeOk {
|
|
program=$1
|
|
code=${2:=0}
|
|
$program &> /dev/null
|
|
if [ $? -eq $code ] ; then echo -ne "1\t" ; else echo -ne "0\t" ; fi
|
|
}
|
|
|
|
#Ok if file size > X
|
|
# arg1: file
|
|
# arg2: min size
|
|
function fileBiggerThan {
|
|
if [ ! -f $1 ] ; then echo -ne "0\t" ; return 0 ; fi
|
|
filesize=$(stat --format "%s" $1)
|
|
if [ $filesize -lt $2 ] ; then echo -ne "0\t" ; else echo -ne "1\t" ; fi
|
|
}
|
|
|
|
#Ok if file exists
|
|
# arg1: file to check
|
|
function fileMustExist {
|
|
if [ -f ${1} ] ; then echo -ne "1\t"
|
|
else echo -ne "0\t"
|
|
fi
|
|
}
|
|
|
|
#Ok if file DOESNOT exists
|
|
# arg1: file to check
|
|
function fileMustNOTExist {
|
|
if [ -f ${1} ] ; then echo -ne "0\t"
|
|
else echo -ne "1\t"
|
|
fi
|
|
}
|
|
|
|
#Ok if dir exists
|
|
# arg1: dir to check
|
|
function dirMustExist {
|
|
if [ -d ${1} ] ; then echo -ne "1\t"
|
|
else echo -ne "0\t"
|
|
fi
|
|
}
|
|
# Ok if given dir DOESNOT exists
|
|
# arg1: dir
|
|
function dirMustNOTExist {
|
|
if [ -d ${1} ] ; then echo -ne "0\t"
|
|
else echo -ne "1\t"
|
|
fi
|
|
}
|
|
|
|
# Ok if file contains at least one occurence of pattern
|
|
# arg1: file
|
|
# arg2: pattern
|
|
function fileMustContain {
|
|
file=$1
|
|
shift
|
|
string=$@
|
|
if [ ! -f $file ] ; then echo -ne "0\t" ; return 0 ;fi
|
|
if ( grep -i -qE "${string}" $file ) ;
|
|
then echo -ne "1\t"
|
|
else
|
|
echo -ne "0\t"
|
|
fi
|
|
}
|
|
|
|
# Return num of occurences of pattern
|
|
# arg1: file
|
|
# arg2: pattern
|
|
function fileCountPattern {
|
|
file=$1
|
|
shift
|
|
string=$@
|
|
if [ ! -f $file ] ; then echo -ne "0\t" ; return 0 ;fi
|
|
num=$(grep -ciE "${string}" $file )
|
|
echo -ne "$num\t"
|
|
}
|
|
|
|
# Ok if file contains N pattern
|
|
# arg1: file
|
|
# arg2: num of expected item
|
|
# arg3: pattern
|
|
function fileMustContainNItem {
|
|
file=$1
|
|
n=$2
|
|
shift
|
|
string=$@
|
|
if [ ! -f $file ] ; then echo -ne "0\t" ; return 0 ;fi
|
|
num=$(grep -ciE "${string}" $file )
|
|
if [ $num -eq $1 ] ;
|
|
then echo -ne "1\t"
|
|
else
|
|
echo -ne "0\t"
|
|
fi
|
|
}
|
|
|
|
# Ok if file DOESNOT contain pattern
|
|
# Arg1: file
|
|
# ArgN: pattern
|
|
function fileMustNOTContain {
|
|
file=$1
|
|
shift
|
|
string=$@
|
|
if [ ! -f $file ] ; then echo -ne "0\t" ; return 0 ; fi
|
|
if ( grep -i -qE "${string}" $file ) ;
|
|
then echo -ne "0\t"
|
|
else
|
|
echo -ne "1\t"
|
|
fi
|
|
}
|
|
# argn: nth columne name
|
|
# insert hostname at beginning of result line
|
|
function addHeader {
|
|
test -f /etc/motd && user="$(cat /etc/motd | sed 's/\n//')\t"
|
|
echo -ne "${user}$(hostname -s)\t"
|
|
for i in $@ ; do echo -ne "$i\t" ; done
|
|
echo -ne "\n\t\t"
|
|
}
|
|
|
|
# Ok if given package is installed
|
|
# arg1: pkg to check
|
|
function pkgInstalled {
|
|
pkglist=/tmp/pkg.list
|
|
test -f $pkglist || rpm -qa > $pkglist
|
|
if ( grep -qi $1 $pkglist ) ; then echo -ne "1\t" ; else echo -ne "0\t" ; fi
|
|
}
|
|
|
|
# Ok if given package is NOT installed
|
|
# arg1: pkg to check
|
|
function pkgNotInstalled {
|
|
pkglist=/tmp/pkg.list
|
|
test -f $pkglist || rpm -qa > $pkglist
|
|
if ( grep -qiE $1 $pkglist ) ; then echo -ne "0\t" ; else echo -ne "1\t" ; fi
|
|
}
|
|
|
|
# ok if given process is running
|
|
# arg1: process to check
|
|
function processIsRunning {
|
|
if ( pgrep -f $1 &> /dev/null ) ; then echo -ne "1\t" ; else echo -ne "0\t" ; fi
|
|
}
|
|
|
|
#Ok if given command returns 0
|
|
# arg1: command to be run
|
|
function commandIsWorking {
|
|
command=$1
|
|
if ( $command &> /dev/null ) ; then echo -ne "1\t" ; else echo -ne "0\t" ; fi
|
|
}
|
|
|
|
# ok if given pattern is detected on command's stdout or stderr
|
|
# arg1: command
|
|
# arg2: pattern
|
|
function commandStdoutPattern {
|
|
command=$1
|
|
shift
|
|
pattern=$@
|
|
if ( $command 2>&1 | grep -qiE "${pattern}" ) ; then echo -ne "1\t" ; else echo -ne "0\t" ; fi
|
|
}
|
|
|
|
# ok if given service is enabled
|
|
# arg1: service
|
|
function serviceIsEnabled {
|
|
service=$1
|
|
if ( systemctl is-enabled $1 &> /dev/null ) ; then echo -ne "1\t" ; else echo -ne "0\t" ; fi
|
|
}
|
|
|
|
# ok if given service is active
|
|
# arg1: service
|
|
function serviceIsActive {
|
|
service=$1
|
|
if ( systemctl is-active $1 &> /dev/null ) ; then echo -ne "1\t" ; else echo -ne "0\t" ; fi
|
|
}
|
|
|
|
# ok if output of given url contains given stuff
|
|
# arg1: url
|
|
# arg2: string
|
|
function okIfCurl {
|
|
url=$1
|
|
shift
|
|
if ( curl -q "${url}" | grep -q "$@" ) ; then echo -ne "1\t" ; else echo -ne "0\t" ; fi
|
|
}
|