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.
 
 
 
 
 
 

81 lines
2.4 KiB

#!@l_prefix@/bin/openpkg rc
##
## rc.pgpool -- Run-Commands
##
%config
pgpool_enable="$openpkg_rc_def"
pgpool_instances="default"
pgpool_log_prolog="true"
pgpool_log_epilog="true"
pgpool_log_numfiles="10"
pgpool_log_minsize="1M"
pgpool_log_complevel="9"
%common
pgpool_etcdir="@l_prefix@/etc/pgpool"
pgpool_vardir="@l_prefix@/var/pgpool"
pgpool_signal () {
[ -f $pgpool_vardir/$1.pid ] && kill -$2 `cat $pgpool_vardir/$1.pid`
}
pgpool_cfgfiles () {
for instance in $pgpool_instances; do
cfgfile=`echo "$instance" |\
sed -e 's;^;X;' \
-e 's;Xdefault$;pgpool;' \
-e 's;X\(.*\)$;pgpool-\1;' \
-e 's;$;.conf;'`
if [ -f "$pgpool_etcdir/$cfgfile" ]; then
echo "$pgpool_etcdir/$cfgfile"
fi
done
}
%status -u @l_nusr@ -o
pgpool_usable="unknown"
pgpool_active="yes"
if rcService pgpool enable yes; then
for cfgfile in `pgpool_cfgfiles`; do
name=`echo "$cfgfile" | sed -e 's;^.*/\([^/]*\)$;\1;' -e 's;\.conf$;;'`
pgpool_signal $name 0
if [ $? -ne 0 ]; then
pgpool_active="no"
break
fi
done
fi
echo "pgpool_enable=\"$pgpool_enable\""
echo "pgpool_usable=\"$pgpool_usable\""
echo "pgpool_active=\"$pgpool_active\""
%start -p 200 -u @l_nusr@
rcService pgpool enable yes || exit 0
rcService pgpool active yes && exit 0
for cfgfile in `pgpool_cfgfiles`; do
@l_prefix@/sbin/pgpool -f $cfgfile
done
%stop -p 800 -u @l_nusr@
rcService pgpool enable yes || exit 0
rcService pgpool active no && exit 0
for cfgfile in `pgpool_cfgfiles`; do
@l_prefix@/sbin/pgpool -f $cfgfile stop
done
%restart -u @l_nusr@
rcService pgpool enable yes || exit 0
rcService pgpool active no && exit 0
rc pgpool stop start
%daily -u @l_nusr@
rcService pgpool enable yes || exit 0
for cfgfile in `pgpool_cfgfiles`; do
name=`echo "$cfgfile" | sed -e 's;^.*/\([^/]*\)$;\1;' -e 's;\.conf$;;'`
shtool rotate -f \
-n ${pgpool_log_numfiles} -s ${pgpool_log_minsize} -d \
-z ${pgpool_log_complevel} -o @l_nusr@ -g @l_ngrp@ -m 644 \
-P "${pgpool_log_prolog}" \
-E "${pgpool_log_epilog}" \
$pgpool_vardir/$name.log
done