rc.mysql 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. #!@l_prefix@/lib/openpkg/bash @l_prefix@/etc/rc
  2. ##
  3. ## rc.mysql -- Run-Commands
  4. ##
  5. %config
  6. mysql_enable="$openpkg_rc_def"
  7. mysql_pwd_file=@l_prefix@/etc/mysql/my.pwd
  8. mysql_cnf_file=@l_prefix@/etc/mysql/my.cnf
  9. mysql_common_prolog="true"
  10. mysql_common_epilog="true"
  11. mysql_common_numfiles="10"
  12. mysql_common_minsize="1M"
  13. mysql_common_complevel="9"
  14. mysql_update_prolog="true"
  15. mysql_update_epilog="true"
  16. mysql_update_numfiles="10"
  17. mysql_update_minsize="1M"
  18. mysql_update_complevel="9"
  19. mysql_err_prolog="true"
  20. mysql_err_epilog="true"
  21. mysql_err_numfiles="10"
  22. mysql_err_minsize="1M"
  23. mysql_err_complevel="9"
  24. %common
  25. # same paths as in my.cnf
  26. mysql_pid_file=@l_prefix@/var/mysql/mysqld.pid
  27. mysql_err_log=@l_prefix@/var/mysql/mysqld.err
  28. mysql_common_log=@l_prefix@/var/mysql/common.log
  29. mysql_update_log=@l_prefix@/var/mysql/update.log
  30. %status -u @l_rusr@ -o
  31. mysql_usable="unknown"
  32. mysql_active="no"
  33. @l_prefix@/bin/mysqladmin \
  34. --defaults-extra-file=${mysql_pwd_file} \
  35. ping >/dev/null 2>&1 && mysql_active="yes"
  36. if [ $mysql_active = "no" -a -f $mysql_pid_file ] ; then
  37. kill -0 `cat $mysql_pid_file` && mysql_active="unknown"
  38. fi
  39. echo "mysql_enable=\"$mysql_enable\""
  40. echo "mysql_usable=\"$mysql_usable\""
  41. echo "mysql_active=\"$mysql_active\""
  42. %start -p 400 -u @l_rusr@
  43. rcService mysql enable yes || exit 0
  44. rcService mysql active yes && exit 0
  45. cd @l_prefix@
  46. @l_prefix@/bin/mysqld_safe >/dev/null 2>&1 \
  47. --mysqld=@l_mysqld@ \
  48. --pid-file="$mysql_pid_file" \
  49. --err-log="$mysql_log_err" &
  50. %stop -p 400 -u @l_rusr@
  51. rcService mysql enable yes || exit 0
  52. rcService mysql active no && exit 0
  53. @l_prefix@/bin/mysqladmin \
  54. --defaults-extra-file=${mysql_pwd_file} \
  55. flush-logs
  56. @l_prefix@/bin/mysqladmin \
  57. --defaults-extra-file=${mysql_pwd_file} \
  58. shutdown
  59. %restart -p 400 -u @l_rusr@
  60. rcService mysql enable yes || exit 0
  61. rcService mysql active no && exit 0
  62. rc mysql stop start
  63. %daily -u @l_susr@
  64. rcService mysql enable yes || exit 0
  65. # rotate logfiles
  66. rcTmp -i
  67. hintfile=`rcTmp -f -n hint`
  68. shtool rotate -f \
  69. -n ${mysql_common_numfiles} -s ${mysql_common_minsize} -d \
  70. -z ${mysql_common_complevel} -m 660 -o @l_rusr@ -g @l_rgrp@ \
  71. -P "${mysql_common_prolog}" \
  72. -E "${mysql_common_epilog} && echo 1 >$hintfile" \
  73. ${mysql_common_log}
  74. shtool rotate -f \
  75. -n ${mysql_update_numfiles} -s ${mysql_update_minsize} -d \
  76. -z ${mysql_update_complevel} -m 660 -o @l_rusr@ -g @l_rgrp@ \
  77. -P "${mysql_update_prolog}" \
  78. -E "${mysql_update_epilog} && echo 1 >$hintfile" \
  79. ${mysql_update_log}
  80. shtool rotate -f \
  81. -n ${mysql_err_numfiles} -s ${mysql_err_minsize} -d \
  82. -z ${mysql_err_complevel} -m 660 -o @l_rusr@ -g @l_rgrp@ \
  83. -P "${mysql_err_prolog}" \
  84. -E "${mysql_err_epilog} && echo 1 >$hintfile" \
  85. ${mysql_err_log}
  86. if [ -s $hintfile ]; then
  87. rc mysql restart
  88. fi
  89. rcTmp -k