83 lines
1.5 KiB
Bash
83 lines
1.5 KiB
Bash
#!/bin/bash
|
|
getConfigGeneral() {
|
|
case $key in
|
|
'max-load')
|
|
expr='^[0-9]*$'
|
|
if [[ $value =~ $expr ]]
|
|
then
|
|
maxload="$value"
|
|
else
|
|
echo "Invalid max-load value: $value" >&2
|
|
exit $ELOAD
|
|
fi
|
|
unset expr
|
|
;;
|
|
'load-interval')
|
|
expr='^[0-9]*$'
|
|
if [[ $value =~ $expr ]]
|
|
then
|
|
loadinterval="$value"
|
|
else
|
|
echo "Invalid load-interval value: $value" >&2
|
|
exit $EINTERVAL
|
|
fi
|
|
unset expr
|
|
;;
|
|
'ionice')
|
|
if which ionice >/dev/null
|
|
then
|
|
read class niceness <<<"$value"
|
|
case $class in
|
|
1)
|
|
# real-time class, only root can do that
|
|
if (( UID ))
|
|
then
|
|
echo "IO class 'realtime' is"\
|
|
"not available to unprivileged"\
|
|
"users" >&2
|
|
exit $EIONICE
|
|
fi
|
|
if [ -n "$niceness" ] \
|
|
&& (( niceness >= 0 && niceness <= 7 ))
|
|
then
|
|
ionice="ionice -c1 -n$niceness "
|
|
else
|
|
echo "Invalid IO priority"\
|
|
"'$niceness'" >&2
|
|
exit $EIONICE
|
|
fi
|
|
;;
|
|
2)
|
|
if [ -n "$niceness" ] \
|
|
&& (( niceness >= 0 && niceness <= 7 ))
|
|
then
|
|
ionice="ionice -c2 -n$niceness "
|
|
else
|
|
echo "Invalid IO priority"\
|
|
"'$niceness'" >&2
|
|
exit $EIONICE
|
|
fi
|
|
;;
|
|
3)
|
|
ionice="ionice -c3 "
|
|
;;
|
|
*)
|
|
echo "Invalid ionice parameters $value"\
|
|
>&2
|
|
exit $EIONICE
|
|
;;
|
|
esac
|
|
fi
|
|
;;
|
|
'temporary-directory')
|
|
tempdir="$value"
|
|
;;
|
|
'database')
|
|
database="$value"
|
|
;;
|
|
debug)
|
|
(( value > debug )) && debug=$value
|
|
;;
|
|
esac
|
|
}
|