searchd 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. #!/bin/bash
  2. #
  3. # Init file for searchd
  4. #
  5. # chkconfig: 2345 55 25
  6. #
  7. # description: searchd
  8. #
  9. # USE "chkconfig --add searchd" to configure Sphinx searchd service
  10. #
  11. # by Vladimir Fedorkov Mar 1, 2006, [email protected]
  12. # public domain
  13. SUDO_USER=searchd
  14. BASE_PATH=/release/search
  15. PID_FILE=$BASE_PATH/searchd.pid
  16. CONFIG_FILE=$BASE_PATH/manticore.conf
  17. EXEC_PATH=$BASE_PATH
  18. LOG_PATH=$EXEC_PATH
  19. RETVAL=0
  20. prog="searchd"
  21. do_config() {
  22. mkdir -p $EXEC_PATH
  23. mkdir $EXEC_PATH/data
  24. mkdir -p $LOG_PATH
  25. chown -R $SUDO_USER $EXEC_PATH
  26. chown -R $SUDO_USER $EXEC_PATH/$CONFIG_FILE
  27. chown -R $SUDO_USER $LOG_PATH
  28. chmod 600 $EXEC_PATH/$CONFIG_FILE
  29. chmod u+rwx $EXEC_PATH/*
  30. chmod -R u+rw,go-rwx $EXEC_PATH/data
  31. chmod -R u+rw,go-rwx $LOG_PATH
  32. }
  33. do_start() {
  34. echo "Starting $prog"
  35. sudo -u $SUDO_USER $EXEC_PATH/$prog --config $CONFIG_FILE
  36. RETVAL=$?
  37. echo
  38. return $RETVAL
  39. }
  40. do_stop() {
  41. echo "Stopping $prog"
  42. if [ -e $PID_FILE ] ; then
  43. kill -15 `cat $PID_FILE`
  44. sleep 5
  45. if [ -e $PID_FILE ] ; then
  46. kill -9 `cat $PID_FILE`
  47. fi
  48. fi
  49. RETVAL=$?
  50. echo
  51. return $RETVAL
  52. }
  53. case $* in
  54. config)
  55. do_config
  56. ;;
  57. start)
  58. do_start
  59. ;;
  60. stop)
  61. do_stop
  62. ;;
  63. *)
  64. echo "usage: $0 {start|stop|config}" >&2
  65. exit 1
  66. ;;
  67. esac
  68. exit $RETVAL