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.
86 lines
2.6 KiB
86 lines
2.6 KiB
#!@l_prefix@/bin/openpkg rc |
|
## |
|
## rc.cockroach -- Run-Commands |
|
## |
|
|
|
%config |
|
cockroach_enable="$openpkg_rc_def" |
|
cockroach_flags="" |
|
cockroach_log_prolog="true" |
|
cockroach_log_epilog="true" |
|
cockroach_log_numfiles="10" |
|
cockroach_log_minsize="1M" |
|
cockroach_log_complevel="9" |
|
|
|
%common |
|
cockroach_cfgfile="@l_prefix@/etc/cockroach/cockroach.conf" |
|
cockroach_logdir="@l_prefix@/var/cockroach/log" |
|
cockroach_pidfile="@l_prefix@/var/cockroach/run/cockroach.pid" |
|
cockroach_logfile="@l_prefix@/var/cockroach/log/cockroach.log" |
|
cockroach_signal () { |
|
[ -f $cockroach_pidfile ] && kill -$1 `cat $cockroach_pidfile` |
|
} |
|
|
|
%status -u @l_rusr@ -o |
|
cockroach_usable="unknown" |
|
cockroach_active="no" |
|
rcService cockroach enable yes && \ |
|
cockroach_signal 0 && cockroach_active="yes" |
|
echo "cockroach_enable=\"$cockroach_enable\"" |
|
echo "cockroach_usable=\"$cockroach_usable\"" |
|
echo "cockroach_active=\"$cockroach_active\"" |
|
|
|
%start -u @l_rusr@ |
|
rcService cockroach enable yes || exit 0 |
|
rcService cockroach active yes && exit 0 |
|
( GOMAXPROCS=32 |
|
export GOMAXPROCS |
|
cmd="nohup @l_prefix@/bin/cockroach start" |
|
cmd="$cmd --log-dir=$cockroach_logdir" |
|
cmd="$cmd `cat $cockroach_cfgfile | \ |
|
sed -e '/^[[:space:]]*#.*/d' \ |
|
-e '/^[[:space:]]*$/d' \ |
|
-e 's/^\([[:space:]]*\)\([a-zA-Z]\)/\1--\2/' | \ |
|
sed -e ':a; $!N; s/\n/ /; ta' \ |
|
-e 's; *; ;g'`" |
|
cmd="$cmd $cockroach_flags" |
|
cmd="$cmd </dev/null >>$cockroach_logfile 2>&1 &" |
|
eval "$cmd" |
|
echo $! >$cockroach_pidfile |
|
) >/dev/null 2>&1 |
|
|
|
%stop -u @l_rusr@ |
|
rcService cockroach enable yes || exit 0 |
|
rcService cockroach active no && exit 0 |
|
@l_prefix@/bin/cockroach quit |
|
sleep 4 |
|
cockroach_signal TERM |
|
i=0 |
|
while [ $i -lt 30 ]; do |
|
sleep 1 |
|
if ! cockroach_signal 0; then |
|
break |
|
fi |
|
i=`expr $i + 1` |
|
done |
|
rm -f $cockroach_pidfile >/dev/null 2>&1 || true |
|
|
|
%restart -u @l_rusr@ |
|
rcService cockroach enable yes || exit 0 |
|
rcService cockroach active no && exit 0 |
|
rc cockroach stop start |
|
|
|
%reload -u @l_rusr@ |
|
rcService cockroach enable yes || exit 0 |
|
rcService cockroach active no && exit 0 |
|
@l_prefix@/bin/cockroach reload |
|
|
|
%daily -u @l_susr@ |
|
rcService cockroach enable yes || exit 0 |
|
shtool rotate -f \ |
|
-n ${cockroach_log_numfiles} -s ${cockroach_log_minsize} -d \ |
|
-z ${cockroach_log_complevel} -m 664 -o @l_rusr@ -g @l_rgrp@ \ |
|
-P "${cockroach_log_prolog}" \ |
|
-E "${cockroach_log_epilog}; rc cockroach restart" \ |
|
$cockroach_logfile |
|
|
|
|