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.

rspamd.init 2.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. #!/bin/sh
  2. #
  3. # rspamd - this script starts and stops the rspamd daemon
  4. ### BEGIN INIT INFO
  5. # Provides: rspamd
  6. # Required-Start: $remote_fs $network
  7. # Required-Stop: $network $remote_fs
  8. # Default-Start: 5
  9. # Default-Stop:
  10. # Short-Description: Rspamd daemon
  11. # Description: Rspamd spam filtering daemon process
  12. ### END INIT INFO
  13. #
  14. # chkconfig: - 85 15
  15. # description: rspamd is a spam filtering system
  16. # processname: rspamd
  17. # config: /etc/rspamd/rspamd.sysvinit.conf
  18. # config: /etc/sysconfig/rspamd
  19. # pidfile: /var/run/rspamd/rspamd.pid
  20. # Source function library.
  21. . /etc/rc.d/init.d/functions
  22. # Source networking configuration.
  23. . /etc/sysconfig/network
  24. # Check that networking is up.
  25. [ "$NETWORKING" = "no" ] && exit 0
  26. rspamd="/usr/bin/rspamd"
  27. prog=$(basename $rspamd)
  28. RSPAMD_CONF_FILE="/etc/rspamd/rspamd.sysvinit.conf"
  29. RSPAMD_USER="_rspamd"
  30. RSPAMD_GROUP="_rspamd"
  31. [ -f /etc/sysconfig/rspamd ] && . /etc/sysconfig/rspamd
  32. lockfile=/var/lock/subsys/rspamd
  33. start() {
  34. [ -x $rspamd ] || exit 5
  35. [ -f $rspamd_CONF_FILE ] || exit 6
  36. echo -n $"Starting $prog: "
  37. daemon $rspamd -c $RSPAMD_CONF_FILE -u $RSPAMD_USER -g $RSPAMD_GROUP
  38. retval=$?
  39. echo
  40. [ $retval -eq 0 ] && touch $lockfile
  41. return $retval
  42. }
  43. stop() {
  44. echo -n $"Stopping $prog: "
  45. killproc $prog -TERM
  46. retval=$?
  47. if [ $retval -eq 0 ]; then
  48. if [ "$CONSOLETYPE" != "serial" ]; then
  49. echo -en "\\033[16G"
  50. fi
  51. while rh_status_q
  52. do
  53. sleep 1
  54. echo -n $"."
  55. done
  56. rm -f $lockfile
  57. fi
  58. echo
  59. return $retval
  60. }
  61. restart() {
  62. configtest || return $?
  63. stop
  64. start
  65. }
  66. reload() {
  67. configtest || return $?
  68. echo -n $"Reloading $prog: "
  69. killproc $rspamd -HUP
  70. RETVAL=$?
  71. echo
  72. }
  73. force_reload() {
  74. restart
  75. }
  76. configtest() {
  77. $rspamd -u $RSPAMD_USER -g $RSPAMD_GROUP -t -c $RSPAMD_CONF_FILE
  78. }
  79. rh_status() {
  80. status $prog
  81. }
  82. rh_status_q() {
  83. rh_status >/dev/null 2>&1
  84. }
  85. case "$1" in
  86. start)
  87. rh_status_q && exit 0
  88. $1
  89. ;;
  90. stop)
  91. rh_status_q || exit 0
  92. $1
  93. ;;
  94. restart|configtest)
  95. $1
  96. ;;
  97. reload)
  98. rh_status_q || exit 7
  99. $1
  100. ;;
  101. force-reload)
  102. force_reload
  103. ;;
  104. status)
  105. rh_status
  106. ;;
  107. condrestart|try-restart)
  108. rh_status_q || exit 0
  109. ;;
  110. *)
  111. echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
  112. exit 2
  113. esac