File: searchd

package info (click to toggle)
sphinxsearch 2.2.11-8
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, sid, trixie
  • size: 25,720 kB
  • sloc: cpp: 102,259; xml: 85,608; sh: 9,259; php: 3,790; ansic: 3,158; yacc: 1,969; java: 1,336; ruby: 1,289; python: 1,062; pascal: 912; perl: 381; lex: 275; makefile: 150; sql: 77; cs: 35
file content (83 lines) | stat: -rw-r--r-- 1,221 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#!/bin/bash
#
# Init file for searchd
#
# chkconfig: 2345 55 25
#
# description: searchd 
#
# USE "chkconfig --add searchd" to configure Sphinx searchd service
#
# by Vladimir Fedorkov Mar 1, 2006, info@astellar.com
# public domain

SUDO_USER=searchd

BASE_PATH=/release/search
PID_FILE=$BASE_PATH/searchd.pid
CONFIG_FILE=$BASE_PATH/sphinx.conf

EXEC_PATH=$BASE_PATH
LOG_PATH=$EXEC_PATH

RETVAL=0
prog="searchd"

do_config() {
	mkdir -p $EXEC_PATH
	mkdir $EXEC_PATH/data
	mkdir -p $LOG_PATH
	chown -R $SUDO_USER $EXEC_PATH
	chown -R $SUDO_USER $EXEC_PATH/$CONFIG_FILE
	chown -R $SUDO_USER $LOG_PATH

	chmod 600 $EXEC_PATH/$CONFIG_FILE
	chmod u+rwx $EXEC_PATH/*
	chmod -R u+rw,go-rwx $EXEC_PATH/data
	chmod -R u+rw,go-rwx $LOG_PATH
}

do_start() {
	echo "Starting $prog"
	sudo -u $SUDO_USER $EXEC_PATH/$prog --config $CONFIG_FILE
	RETVAL=$?
	echo
	return $RETVAL
}

do_stop() {
	echo "Stopping $prog"
	if [ -e $PID_FILE ] ; then
		kill -15 `cat $PID_FILE`
		sleep 5
		if [ -e $PID_FILE ] ; then
			kill -9 `cat $PID_FILE`
		fi
	fi
	RETVAL=$?
	echo
	return $RETVAL
}

case $* in

config)
	do_config
	;;

start)
	do_start
	;;

stop)
	do_stop
	;;

*)
	echo "usage: $0 {start|stop|config}" >&2

	exit 1
	;;
esac

exit $RETVAL