You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
2.4 KiB
88 lines
2.4 KiB
#!@l_prefix@/bin/openpkg rc |
|
## |
|
## rc.ndb -- Run-Commands |
|
## |
|
|
|
%config |
|
ndb_enable="$openpkg_rc_def" |
|
ndb_daemons="ndb_mgmd ndbd" |
|
ndb_log_prolog="true" |
|
ndb_log_epilog="true" |
|
ndb_log_numfiles="10" |
|
ndb_log_minsize="1M" |
|
ndb_log_complevel="9" |
|
|
|
%common |
|
ndb_etcdir="@l_prefix@/etc/ndb" |
|
ndb_vardir="@l_prefix@/var/ndb" |
|
ndb_signal () { |
|
local retcode=0 |
|
local daemons= |
|
for daemon in $ndb_daemons; do |
|
[ -f $ndb_vardir/run/$daemon.pid ] \ |
|
&& kill -$1 `cat $ndb_vardir/run/$daemon.pid` |
|
retcode=$(($retcode+$?)) |
|
done |
|
return $retcode |
|
} |
|
|
|
%status -u @l_susr@ -o |
|
ndb_usable="unknown" |
|
ndb_active="no" |
|
rcService ndb enable yes && \ |
|
ndb_signal 0 && ndb_active="yes" |
|
echo "ndb_enable=\"$ndb_enable\"" |
|
echo "ndb_usable=\"$ndb_usable\"" |
|
echo "ndb_active=\"$ndb_active\"" |
|
|
|
%start -u @l_rusr@ |
|
rcService ndb enable yes || exit 0 |
|
rcService ndb active yes && exit 0 |
|
for daemon in $ndb_daemons; do |
|
cmd="" |
|
case $daemon in |
|
ndb_mgmd ) |
|
cmd="@l_prefix@/sbin/$daemon --config-file=$ndb_etcdir/$daemon.ini --nodaemon" |
|
;; |
|
ndbd ) |
|
cmd="@l_prefix@/sbin/$daemon --defaults-file=$ndb_etcdir/$daemon.ini --nodaemon" |
|
;; |
|
esac |
|
( nohup $cmd </dev/null >$ndb_vardir/log/$daemon.log 2>&1 & |
|
echo $! >$ndb_vardir/run/$daemon.pid |
|
) >/dev/null 2>&1 |
|
done |
|
|
|
%stop -u @l_susr@ |
|
rcService ndb enable yes || exit 0 |
|
rcService ndb active no && exit 0 |
|
ndb_signal TERM |
|
sleep 2 |
|
for daemon in $ndb_daemons; do |
|
rm -f $ndb_vardir/run/$daemon.pid |
|
done |
|
|
|
%restart -u @l_susr@ |
|
rcService ndb enable yes || exit 0 |
|
rcService ndb active no && exit 0 |
|
rc ndb stop start |
|
|
|
%daily -u @l_susr@ |
|
rcService ndb enable yes || exit 0 |
|
rcTmp -i |
|
hintfile=`rcTmp -f -n hint` |
|
for daemon in $ndb_daemons; do |
|
if [ -f $ndb_vardir/log/$daemon.log ]; then |
|
shtool rotate -f \ |
|
-n $ndb_log_numfiles -s $ndb_log_minsize -d \ |
|
-z $ndb_log_complevel -m 664 -o @l_rusr@ -g @l_rgrp@ \ |
|
-P "$ndb_log_prolog" \ |
|
-E "$ndb_log_epilog; echo 1 >$hintfile" \ |
|
$ndb_vardir/log/$daemon.log |
|
fi |
|
done |
|
if [ -s $hintfile ]; then |
|
rc ndb restart |
|
fi |
|
rcTmp -k |
|
|
|
|