Make probes from them:
- $ cat > probes/example.com/ping4/run <<EOF
- #!/bin/sh -e
- "$SGMONDIR"/helper/http http://example.com/ Some.Expected.Title
- EOF
+ $ echo '"$SGMONDIR"/helper/http http://example.com/ Some.Expected.Title'
+ > probes/example.com/ping4/run <<EOF
# only 3 failures will generated notification email
$ echo 3 > probes/example.com/http/max-attempts
- $ cat > probes/example.com/ping4/run <<EOF
- #!/bin/sh -e
- "$SGMONDIR"/helper/ping 4 example.com
- EOF
+ $ echo '"$SGMONDIR"/helper/ping 4 example.com' > probes/example.com/ping4/run
- $ cat > probes/example.com/ping6/run <<EOF
- #!/bin/sh -e
- "$SGMONDIR"/helper/ping 6 example.com
- EOF
+ $ echo '"$SGMONDIR"/helper/ping 6 example.com' > probes/example.com/ping6/run
$ echo 5 > probes/example.com/ping4/period # every 5 seconds
$ cat > probes/jails/foobar/run <<EOF
#!/bin/sh -e
jls -j foobar-jail-name
EOF
+ $ chmod +x probes/jails/foobar/run
Set default configuration values:
#!/bin/sh -e
find . -mindepth 1 -type d -not -name ".*" | while read probe ; do
- [ -x $probe/run ] || continue
+ [ -e $probe/run ] || continue
echo ${probe#./}
done | sort
while : ; do
[ -s max-attempts ] && read max_attempts < max-attempts || max_attempts=1
[ -s state/attempts ] && read attempts < state/attempts || attempts=0
- if ./run >state/stdout 2>state/stderr ; then
+ [ -x run ] && cmd=./run || cmd="sh -e run"
+ if $cmd >state/stdout 2>state/stderr ; then
if [ "$attempts" -ge "$max_attempts" ] ; then
"$SGMONDIR"/notify-ok.sh
fi