Advertisement
markobil

Untitled

Nov 1st, 2014
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.07 KB | None | 0 0
  1. #!/bin/sh
  2. #
  3. # kavehost Startup script for the Kavehost
  4. # chkconfig: 345 81 29
  5. # description: Kaspersky AntiVirus service.
  6. #
  7. # processname: kavehost
  8. # pidfile: /var/run/kav/pid
  9.  
  10. CONFIG="/etc/kavehost.xml"
  11.  
  12. SDK_HOME=/opt/kav/sdk8l3
  13. KL_PLUGINS_PATH="${SDK_HOME}/ppl"
  14. export KL_PLUGINS_PATH
  15. LD_LIBRARY_PATH=$KL_PLUGINS_PATH:$LD_LIBRARY_PATH
  16. RUNDIR=/var/run/kav
  17.  
  18. # Check config file
  19. if [ ! -f "${CONFIG}" ] ; then
  20. echo -n "Config file [${CONFIG}] does not exist .";
  21. echo
  22. exit 1;
  23. fi
  24.  
  25. if [ ! -d $RUNDIR ] ; then
  26. mkdir $RUNDIR
  27. [ -e /sbin/restorecon ] && /sbin/restorecon -r $RUNDIR
  28. fi
  29.  
  30. # Extract pid file
  31. pidfile=`grep PidPath ${CONFIG} | sed 's/^.*<PidPath>//' | sed 's/<\/PidPath>//'`
  32.  
  33. PS_PID="ps ax -o pid"
  34.  
  35. # Source function library.
  36. if [ -f /etc/rc.d/init.d/functions ] ; then
  37. . /etc/rc.d/init.d/functions;
  38. #elif [ -f /etc/rc.status ]; then
  39. # . /etc/rc.status;
  40. else
  41. RES_COL=60
  42. if [ `uname -s` = "Linux" ];
  43. then
  44. MOVE_TO_COL="echo -en \\033[${RES_COL}G"
  45. else
  46. MOVE_TO_COL="echo -n "
  47. fi
  48.  
  49. echo_success() { $MOVE_TO_COL; echo -n ' [ OK ] ' ; }
  50. echo_failure() { $MOVE_TO_COL; echo -n ' [FAILED] ' ; }
  51. echo_warning() { $MOVE_TO_COL; echo -n ' [WARNING] ' ; }
  52.  
  53. killproc()
  54. {
  55. if [ `uname -s` = "Linux" ]; then
  56. PID=`pidof -s -x -o $$ -o $PPID -o %PPID $1`
  57. else
  58. PID=`cat $pidfile`
  59. fi
  60. [ $PID ] && kill $PID ;
  61. }
  62. fi
  63.  
  64. if [ "x$KL_PLUGINS_PATH" = "x" ]; then
  65. KL_PLUGINS_PATH=$HOME/builds/`uname -s`-x86/bin
  66. export KL_PLUGINS_PATH
  67. LD_LIBRARY_PATH=$KL_PLUGINS_PATH:$LD_LIBRARY_PATH
  68. export LD_LIBRARY_PATH
  69. fi
  70.  
  71.  
  72. # For SELinux we need to use 'runuser' not 'su'
  73. if [ -x /sbin/runuser ]
  74. then
  75. SU=runuser
  76. else
  77. SU=su
  78. fi
  79.  
  80.  
  81. # Path to the kavehost binary.
  82. kavehost=${SDK_HOME}/bin/kavehost
  83. prog=kavehost
  84. RETVAL=0
  85.  
  86. start() {
  87. echo -n "Starting $prog: "
  88. if [ -e ${pidfile} ]; then PID=`cat ${pidfile}`; fi
  89. if [ -e ${pidfile} ] && [ "x`${PS_PID} |grep ${PID}`" != "x" ]; then
  90. echo -n "kavehost is already running.";
  91. echo_failure
  92. echo
  93. return 1
  94. fi
  95.  
  96. cd ${SDK_HOME}/bin
  97. $kavehost -c ${CONFIG}
  98. RETVAL=$?
  99.  
  100. if [ $RETVAL -eq 0 ]
  101. then
  102. echo_success
  103. else
  104. echo_failure
  105. fi
  106.  
  107. echo
  108. return $RETVAL
  109. }
  110.  
  111. stop() {
  112. echo -n "Stopping $prog: "
  113. if [ -e ${pidfile} ]; then PID=`cat ${pidfile}`; fi
  114. if [ ! -e ${pidfile} ] || [ "x`${PS_PID} |grep ${PID}`" = "x" ]; then
  115. echo -n "kavehost is not running."
  116. echo_failure
  117. echo
  118. return 1;
  119. fi
  120.  
  121. killproc kavehost
  122. RETVAL=$?
  123.  
  124. PS=`${PS_PID} |grep ${PID}`
  125. while [ "x$PS" != "x" ]; do
  126. PS=`${PS_PID} |grep ${PID}`
  127. sleep 1;
  128. done
  129.  
  130. if [ $RETVAL -eq 0 ]
  131. then
  132. echo_success
  133. else
  134. echo_failure
  135. fi
  136.  
  137. echo
  138.  
  139. [ $RETVAL -eq 0 ] && rm -f /tmp/.kavcom* /tmp/.kavscan* /tmp/.kavevent*
  140. return $RETVAL
  141. }
  142.  
  143. reloaddb() {
  144. echo -n "Reload databases $prog: "
  145.  
  146. if [ -e ${pidfile} ]; then PID=`cat ${pidfile}`; fi
  147. if [ ! -e ${pidfile} ] || [ "x`${PS_PID} |grep ${PID}`" = "x" ]; then
  148. echo -n "kavehost is not running."
  149. echo_failure
  150. echo
  151. return 1;
  152. fi
  153.  
  154. kill -USR1 `cat ${pidfile}`
  155. echo_success
  156. echo
  157. }
  158.  
  159. status() {
  160. if [ -e ${pidfile} ]; then
  161. PID=`cat ${pidfile}`
  162. PS=`${PS_PID} |grep ${PID}`
  163. if [ "x$PS" != "x" ]; then
  164. echo -n "kavehost is already running.";
  165. echo
  166. return 0
  167. fi
  168. fi
  169. echo -n "kavehost is not running.";
  170. echo
  171. return 1
  172. }
  173.  
  174. # See how we were called.
  175. case "$1" in
  176. start)
  177. start
  178. ;;
  179. stop)
  180. stop
  181. ;;
  182. reloaddb)
  183. reloaddb
  184. ;;
  185. status)
  186. status $kavehost
  187. RETVAL=$?
  188. ;;
  189. restart)
  190. stop
  191. start
  192. ;;
  193. *)
  194. echo "Usage: $prog {start|stop|restart|reloaddb|status}"
  195. exit 1
  196. esac
  197.  
  198. exit $RETVAL
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement