rc.openssh 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #!@l_prefix@/lib/openpkg/bash @l_prefix@/etc/rc
  2. ##
  3. ## rc.openssh -- Run-Commands
  4. ##
  5. %config
  6. openssh_enable="yes"
  7. openssh_log_prolog="true"
  8. openssh_log_epilog="true"
  9. openssh_log_numfiles="10"
  10. openssh_log_minsize="1M"
  11. openssh_log_complevel="9"
  12. %common
  13. openssh_signal () {
  14. if [ -f "@l_prefix@/var/openssh/sshd.pid" ]; then
  15. kill -$1 `cat @l_prefix@/var/openssh/sshd.pid`
  16. fi
  17. }
  18. %start -p 200 -u @l_susr@
  19. opServiceEnabled openssh || exit 0
  20. @l_prefix@/bin/sshd
  21. %stop -p 200 -u @l_susr@
  22. opServiceEnabled openssh || exit 0
  23. openssh_signal TERM
  24. %restart -u @l_susr@
  25. opServiceEnabled openssh || exit 0
  26. openssh_signal TERM
  27. sleep 2
  28. @l_prefix@/bin/sshd
  29. %daily -u @l_susr@
  30. opServiceEnabled openssh || exit 0
  31. opTmpDirGen openssh
  32. opTmpDirFile openssh hint hintfile
  33. prolog="true"
  34. if [ ".$openssh_log_prolog" != . ]; then
  35. prolog="$prolog; $openssh_log_prolog"
  36. fi
  37. epilog="echo 'epilog' >$hintfile"
  38. if [ ".$openssh_log_epilog" != . ]; then
  39. epilog="$epilog; $openssh_log_epilog"
  40. fi
  41. # rotate logfile
  42. shtool rotate -f \
  43. -n${openssh_log_numfiles} -s${openssh_log_minsize} -d \
  44. -z${openssh_log_complevel} -o@l_susr@ -g@l_sgrp@ -m644 \
  45. -P "${openssh_log_prolog}" \
  46. -E "${openssh_log_epilog}" \
  47. @l_prefix@/var/openssh/log/sshd.log
  48. if [ ".`cat $hintfile`" = ".epilog" ]; then
  49. openssh_signal TERM
  50. sleep 2
  51. @l_prefix@/bin/sshd
  52. fi
  53. opTmpDirDel openssh