rc.imapd 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. #!@l_prefix@/lib/openpkg/bash @l_prefix@/etc/rc
  2. ##
  3. ## rc.imapd -- Run-Commands
  4. ##
  5. %config
  6. imapd_enable="$openpkg_rc_def"
  7. imapd_cyrdel_file="@l_prefix@/var/imapd/log/cyrdeliver.log"
  8. imapd_cyrdel_prolog="true"
  9. imapd_cyrdel_epilog="true"
  10. imapd_cyrdel_numfiles="10"
  11. imapd_cyrdel_minsize="1M"
  12. imapd_cyrdel_complevel="9"
  13. imapd_imapd_file="@l_prefix@/var/imapd/log/imapd.log"
  14. imapd_imapd_prolog="true"
  15. imapd_imapd_epilog="true"
  16. imapd_imapd_numfiles="10"
  17. imapd_imapd_minsize="1M"
  18. imapd_imapd_complevel="9"
  19. imapd_lmtpd_file="@l_prefix@/var/imapd/log/lmtpd.log"
  20. imapd_lmtpd_prolog="true"
  21. imapd_lmtpd_epilog="true"
  22. imapd_lmtpd_numfiles="10"
  23. imapd_lmtpd_minsize="1M"
  24. imapd_lmtpd_complevel="9"
  25. imapd_master_file="@l_prefix@/var/imapd/log/master.log"
  26. imapd_master_prolog="true"
  27. imapd_master_epilog="true"
  28. imapd_master_numfiles="10"
  29. imapd_master_minsize="1M"
  30. imapd_master_complevel="9"
  31. imapd_popd_file="@l_prefix@/var/imapd/log/pop3d.log"
  32. imapd_popd_prolog="true"
  33. imapd_popd_epilog="true"
  34. imapd_popd_numfiles="10"
  35. imapd_popd_minsize="1M"
  36. imapd_popd_complevel="9"
  37. imapd_cyr_db_file="@l_prefix@/var/imapd/log/cyr_db.log"
  38. imapd_cyr_db_prolog="true"
  39. imapd_cyr_db_epilog="true"
  40. imapd_cyr_db_numfiles="10"
  41. imapd_cyr_db_minsize="1M"
  42. imapd_misc_file="@l_prefix@/var/imapd/log/misc.log"
  43. imapd_misc_prolog="true"
  44. imapd_misc_epilog="true"
  45. imapd_misc_numfiles="10"
  46. imapd_misc_minsize="1M"
  47. imapd_misc_complevel="9"
  48. POP_type="cyrus"
  49. POP_logfile="@l_prefix@/var/imapd/log/pop3d.log"
  50. %common
  51. imapd_pidfile="@l_prefix@/var/imapd/imapd.pid"
  52. imapd_signal () {
  53. [ -f $imapd_pidfile ] && kill -$1 `cat $imapd_pidfile`
  54. }
  55. %status -u @l_susr@ -o
  56. imapd_usable="unknown"
  57. imapd_active="no"
  58. rcService imapd enable yes && \
  59. imapd_signal 0 && imapd_active="yes"
  60. echo "imapd_enable=\"$imapd_enable\""
  61. echo "imapd_usable=\"$imapd_usable\""
  62. echo "imapd_active=\"$imapd_active\""
  63. %start -u @l_susr@
  64. rcService imapd enable yes || exit 0
  65. rcService imapd active yes && exit 0
  66. @l_prefix@/bin/cyrmaster &
  67. echo $! >$imapd_pidfile
  68. %stop -u @l_susr@
  69. rcService imapd enable yes || exit 0
  70. rcService imapd active no && exit 0
  71. imapd_signal TERM
  72. rm -f $imapd_pidfile >/dev/null 2>&1 || true
  73. %restart -u @l_susr@
  74. rcService imapd enable yes || exit 0
  75. rcService imapd active no && exit 0
  76. imapd_signal TERM
  77. rc imapd stop
  78. sleep 2
  79. rc imapd start
  80. %reload -u @l_susr@
  81. rcService imapd enable yes || exit 0
  82. rcService imapd active no && exit 0
  83. imapd_signal HUP
  84. %daily -u @l_susr@
  85. rcService imapd enable yes || exit 0
  86. # rotate logfiles
  87. rcTmp -i
  88. hintfile=`rcTmp -f -n hint`
  89. shtool rotate -f \
  90. -n ${imapd_cyrdel_numfiles} -s ${imapd_cyrdel_minsize} -d \
  91. -z ${imapd_cyrdel_complevel} -o @l_rusr@ -g @l_rgrp@ -m 644 \
  92. -P "${imapd_cyrdel_prolog}" \
  93. -E "${imapd_cyrdel_epilog}; echo 1 >$hintfile" \
  94. ${imapd_cyrdel_file}
  95. shtool rotate -f \
  96. -n ${imapd_imapd_numfiles} -s ${imapd_imapd_minsize} -d \
  97. -z ${imapd_imapd_complevel} -o @l_rusr@ -g @l_rgrp@ -m 644 \
  98. -P "${imapd_imapd_prolog}" \
  99. -E "${imapd_imapd_epilog}; echo 1 >$hintfile" \
  100. ${imapd_imapd_file}
  101. shtool rotate -f \
  102. -n ${imapd_lmtpd_numfiles} -s ${imapd_lmtpd_minsize} -d \
  103. -z ${imapd_lmtpd_complevel} -o @l_rusr@ -g @l_rgrp@ -m 644 \
  104. -P "${imapd_lmtpd_prolog}" \
  105. -E "${imapd_lmtpd_epilog}; echo 1 >$hintfile" \
  106. ${imapd_lmtpd_file}
  107. shtool rotate -f \
  108. -n ${imapd_master_numfiles} -s ${imapd_master_minsize} -d \
  109. -z ${imapd_master_complevel} -o @l_susr@ -g @l_rgrp@ -m 644 \
  110. -P "${imapd_master_prolog}" \
  111. -E "${imapd_master_epilog}; echo 1 >$hintfile" \
  112. ${imapd_master_file}
  113. shtool rotate -f \
  114. -n ${imapd_popd_numfiles} -s ${imapd_popd_minsize} -d \
  115. -z ${imapd_popd_complevel} -o @l_rusr@ -g @l_rgrp@ -m 644 \
  116. -P "${imapd_popd_prolog}" \
  117. -E "${imapd_popd_epilog}; echo 1 >$hintfile" \
  118. ${imapd_popd_file}
  119. shtool rotate -f \
  120. -n ${imapd_cyr_db_numfiles} -s ${imapd_cyr_db_minsize} -d \
  121. -z ${imapd_cyr_db_complevel} -o @l_rusr@ -g @l_rgrp@ -m 644 \
  122. -P "${imapd_cyr_db_prolog}" \
  123. -E "${imapd_cyr_db_epilog}; echo 1 >$hintfile" \
  124. ${imapd_cyr_db_file}
  125. shtool rotate -f \
  126. -n ${imapd_misc_numfiles} -s ${imapd_misc_minsize} -d \
  127. -z ${imapd_misc_complevel} -o @l_rusr@ -g @l_rgrp@ -m 644 \
  128. -P "${imapd_misc_prolog}" \
  129. -E "${imapd_misc_epilog}; echo 1 >$hintfile" \
  130. ${imapd_misc_file}
  131. if [ -s $hintfile ]; then
  132. rc imapd restart
  133. fi
  134. rcTmp -k