Added support for manticore

Signed-off-by: Janos SUTO <sj@acts.hu>
This commit is contained in:
Janos SUTO
2022-08-27 11:03:29 +02:00
parent 507ac86885
commit c0859cdd65
7 changed files with 243 additions and 26 deletions

View File

@ -6,10 +6,17 @@ DELTATMPFILE=/var/run/piler/delta.indexer.tmp
INDEXER="indexer --config SYSCONFDIR/piler/sphinx.conf"
PRIORITY=mail.info
TOUCHFILE=/var/piler/stat/indexer
CONFIG_FILE=sphinx.conf
if [ -f $MAINTMPFILE ]; then echo "INDEXER ERROR: indexer merging to main index is already running. It started at "`cat $MAINTMPFILE` | logger -p $PRIORITY ; exit 1; fi
if [[ -f SYSCONFDIR/piler/MANTICORE ]]; then
CONFIG_FILE=manticore.conf
fi
if [ -f $DELTATMPFILE ]; then echo "INDEXER ERROR: delta indexing and merging is already running. It started at "`cat $DELTATMPFILE` | logger -p $PRIORITY ; exit 1; fi
INDEXER="indexer --config SYSCONFDIR/piler/${CONFIG_FILE}"
if [[ -f "$MAINTMPFILE" ]]; then echo "INDEXER ERROR: indexer merging to main index is already running. It started at $(cat "$MAINTMPFILE")" | logger -p "$PRIORITY" ; exit 1; fi
if [[ -f "$DELTATMPFILE" ]]; then echo "INDEXER ERROR: delta indexing and merging is already running. It started at $(cat "$DELTATMPFILE")" | logger -p "$PRIORITY" ; exit 1; fi
date > $DELTATMPFILE
@ -34,4 +41,3 @@ echo "INDEXER INFO: merging delta to dailydelta started" | logger -p $PRIORITY
$INDEXER --quiet --merge dailydelta1 delta1 --merge-dst-range deleted 0 0 --rotate
echo "INDEXER INFO: merging delta to dailydelta finished" | logger -p $PRIORITY

View File

@ -5,11 +5,17 @@ set -o errexit
set -o pipefail
MAINTMPFILE="/var/run/piler/main.indexer.tmp"
SPHINX_CONFIG="SYSCONFDIR/piler/sphinx.conf"
CONFIG_FILE="SYSCONFDIR/piler/sphinx.conf"
INDEXDIR=sphinx
PRIORITY="mail.info"
TOUCHFILE="/var/piler/stat/indexer"
MAIN_INDEX="main1"
if [[ -f SYSCONFDIR/piler/MANTICORE ]]; then
CONFIG_FILE=SYSCONFDIR/piler/manticore.conf
INDEXDIR=manticore
fi
export PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin"
finish() {
@ -30,7 +36,7 @@ trap finish EXIT
echo "INDEXER INFO: merging to main started" | logger -p "$PRIORITY"
indexer --config "$SPHINX_CONFIG" --quiet --merge "$MAIN_INDEX" dailydelta1 --merge-dst-range deleted 0 0 --rotate
indexer --config "$CONFIG_FILE" --quiet --merge "$MAIN_INDEX" dailydelta1 --merge-dst-range deleted 0 0 --rotate
echo "INDEXER INFO: merging to main finished" | logger -p "$PRIORITY"
@ -38,12 +44,12 @@ sleep 5
echo "INDEXER INFO: resetting daily delta started" | logger -p "$PRIORITY"
indexer --config "$SPHINX_CONFIG" --quiet dailydelta1 --rotate
indexer --config "$CONFIG_FILE" --quiet dailydelta1 --rotate
echo "INDEXER INFO: resetting daily delta finished" | logger -p "$PRIORITY"
sum=0
while read -r a b; do
sum=$(( sum + b ))
done < <( find /var/piler/sphinx/ -type f -name main\*.spd -printf "%TY%Tm%Td %s\\n" )
done < <( find /var/piler/${INDEXDIR}/ -type f -name main\*.spd -printf "%TY%Tm%Td %s\\n" )
printf "%d" $sum > /var/piler/stat/main_index_size

View File

@ -36,7 +36,7 @@ load_default_values() {
MYSQL_ROOT_PASSWORD=""
MYSQL_SOCKET=""
SPHINXCFG="${PILER_CONFIG_DIR}/sphinx.conf"
SEARCHCFG="${PILER_CONFIG_DIR}/manticore.conf"
WWWGROUP="apache"
DOCROOT="/var/piler/www"
@ -196,9 +196,9 @@ askYN() {
preinstall_check() {
check_user root
if [[ "$INDEXER" == "" ]]; then "ERROR: cannot find sphinx indexer"; echo ""; exit ; fi
if [[ "$INDEXER" == "" ]]; then "ERROR: cannot find indexer binary"; echo ""; exit ; fi
if [[ "$SEARCHD" == "" ]]; then "ERROR: cannot find sphinx searchd"; echo ""; exit 0; fi
if [[ "$SEARCHD" == "" ]]; then "ERROR: cannot find searchd binary"; echo ""; exit 0; fi
if [[ -f "$KEYFILE" ]]; then echo "ERROR: found existing keyfile (${KEYFILE}), aborting install"; echo ""; exit 0; fi
}
@ -281,8 +281,8 @@ make_cron_entries() {
echo "30 2 * * * ${LIBEXECDIR}/piler/indexer.main.sh";
echo "40 3 * * * ${LIBEXECDIR}/piler/purge.sh";
echo "3 * * * * ${LIBEXECDIR}/piler/watch_sphinx_main_index.sh";
echo "*/15 * * * * ${INDEXER} --quiet tag1 --rotate --config ${PILER_CONFIG_DIR}/sphinx.conf";
echo "*/15 * * * * ${INDEXER} --quiet note1 --rotate --config ${PILER_CONFIG_DIR}/sphinx.conf";
echo "*/15 * * * * ${INDEXER} --quiet tag1 --rotate --config ${PILER_CONFIG_DIR}/manticore.conf";
echo "*/15 * * * * ${INDEXER} --quiet note1 --rotate --config ${PILER_CONFIG_DIR}/manticore.conf";
echo "30 6 * * * /usr/bin/php ${LIBEXECDIR}/piler/generate_stats.php --webui ${DOCROOT} >/dev/null";
echo "*/5 * * * * /usr/bin/find ${LOCALSTATEDIR}/piler/error -type f|wc -l > ${LOCALSTATEDIR}/piler/stat/error";
echo "*/5 * * * * /usr/bin/find ${DOCROOT}/tmp -type f -name i.\* -exec rm -f {} \;";
@ -316,8 +316,8 @@ show_summary() {
echo "mysql password: *******"
echo
echo "sphinx indexer: ${INDEXER}"
echo "sphinx config file: ${SPHINXCFG}"
echo "indexer: ${INDEXER}"
echo "config file: ${SEARCHCFG}"
echo
echo "vhost docroot: ${DOCROOT}"
@ -358,14 +358,12 @@ execute_post_install_tasks() {
echo "Done."
echo -n "Writing sphinx configuration... ";
sed -e "s%MYSQL_HOSTNAME%${MYSQL_HOSTNAME}%" -e "s%MYSQL_DATABASE%${MYSQL_DATABASE}%" -e "s%MYSQL_USERNAME%${MYSQL_USERNAME}%" -e "s%MYSQL_PASSWORD%${MYSQL_PASSWORD}%" "${SYSCONFDIR}/piler/sphinx.conf.dist" > "$SPHINXCFG"
chmod +x "$SPHINXCFG"
sed -e "s%MYSQL_HOSTNAME%${MYSQL_HOSTNAME}%" -e "s%MYSQL_DATABASE%${MYSQL_DATABASE}%" -e "s%MYSQL_USERNAME%${MYSQL_USERNAME}%" -e "s%MYSQL_PASSWORD%${MYSQL_PASSWORD}%" "${SYSCONFDIR}/piler/manticore.conf.dist" > "$SEARCHCFG"
chmod +x "$SEARCHCFG"
echo "Done."
if indexer --version | grep ^Sphinx\ 3; then sed -i 's/220/311/' "$SPHINXCFG"; fi
echo -n "Initializing sphinx indices... ";
su "$PILERUSER" -c "indexer --all --config ${SPHINXCFG}"
echo -n "Initializing manticore indices... ";
su "$PILERUSER" -c "indexer --all --config ${SEARCHCFG}"
echo "Done."