kopano-dagent.init.rhel 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. #!/bin/bash
  2. #
  3. # kopano-dagent Kopano Core Delivery Agent
  4. #
  5. # chkconfig: - 86 24
  6. # processname: /usr/sbin/kopano-dagent
  7. # config: /etc/kopano/dagent.cfg
  8. # pidfile: /var/run/kopano/dagent.pid
  9. ### BEGIN INIT INFO
  10. # Provides: kopano-dagent
  11. # Required-Start: $local_fs $network $remote_fs $syslog
  12. # Required-Stop: $local_fs $network $remote_fs $syslog
  13. # Should-Start: kopano-server
  14. # Should-Stop: kopano-server
  15. # Short-Description: Kopano Core Delivery Agent
  16. ### END INIT INFO
  17. DAGENTCONFIG=/etc/kopano/dagent.cfg
  18. DAGENTPROGRAM=/usr/sbin/kopano-dagent
  19. # Sanity checks.
  20. [ -x $DAGENTPROGRAM ] || exit 0
  21. # the -d option is required to run LMTP mode deamonized
  22. DAGENTCONFIG_OPT="-d"
  23. [ ! -z $DAGENTCONFIG -a -f $DAGENTCONFIG ] && DAGENTCONFIG_OPT="$DAGENTCONFIG_OPT -c $DAGENTCONFIG"
  24. [ -f /etc/sysconfig/kopano ] && . /etc/sysconfig/kopano
  25. if [ -z "$KOPANO_LOCALE" ]; then
  26. KOPANO_LOCALE="C"
  27. fi
  28. # Source function library.
  29. . /etc/rc.d/init.d/functions
  30. RETVAL=0
  31. dagent=`basename $DAGENTPROGRAM`
  32. lockfile=/var/lock/subsys/$dagent
  33. pidfile=/var/run/kopano/dagent.pid
  34. start() {
  35. # Start in background, always succeeds
  36. echo -n $"Starting $dagent: "
  37. install -dm0775 -o kopano -g kopano /var/run/kopano
  38. export LC_ALL=$KOPANO_LOCALE
  39. export LANG=$KOPANO_LOCALE
  40. daemon $DAGENTPROGRAM $DAGENTCONFIG_OPT
  41. RETVAL=$?
  42. unset LC_ALL LANG
  43. echo
  44. [ $RETVAL -eq 0 ] && touch $lockfile
  45. return $RETVAL
  46. }
  47. stop() {
  48. echo -n $"Stopping $dagent: "
  49. killproc $DAGENTPROGRAM
  50. RETVAL=$?
  51. echo
  52. [ $RETVAL -eq 0 ] && rm -f $lockfile $pidfile
  53. return $RETVAL
  54. }
  55. restart() {
  56. stop
  57. start
  58. }
  59. reload() {
  60. echo -n $"Restarting $dagent: "
  61. killproc $DAGENTPROGRAM -SIGHUP
  62. RETVAL=$?
  63. echo
  64. return $RETVAL
  65. }
  66. # See how we were called.
  67. case "$1" in
  68. start)
  69. start
  70. ;;
  71. stop)
  72. stop
  73. ;;
  74. status)
  75. status $dagent
  76. RETVAL=$?
  77. ;;
  78. restart|force-reload)
  79. restart
  80. ;;
  81. condrestart|try-restart)
  82. if [ -f ${pidfile} ]; then
  83. stop
  84. start
  85. fi
  86. ;;
  87. reload)
  88. reload
  89. ;;
  90. *)
  91. echo $"Usage: $dagent {start|stop|status|reload|restart|condrestart|force-reload|try-restart}"
  92. RETVAL=1
  93. ;;
  94. esac
  95. exit $RETVAL