zkCleanup.sh 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #!/usr/bin/env bash
  2. # Licensed to the Apache Software Foundation (ASF) under one or more
  3. # contributor license agreements. See the NOTICE file distributed with
  4. # this work for additional information regarding copyright ownership.
  5. # The ASF licenses this file to You under the Apache License, Version 2.0
  6. # (the "License"); you may not use this file except in compliance with
  7. # the License. You may obtain a copy of the License at
  8. #
  9. # http://www.apache.org/licenses/LICENSE-2.0
  10. #
  11. # Unless required by applicable law or agreed to in writing, software
  12. # distributed under the License is distributed on an "AS IS" BASIS,
  13. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. # See the License for the specific language governing permissions and
  15. # limitations under the License.
  16. #
  17. # This script cleans up old transaction logs and snapshots
  18. #
  19. #
  20. # If this scripted is run out of /usr/bin or some other system bin directory
  21. # it should be linked to and not copied. Things like java jar files are found
  22. # relative to the canonical path of this script.
  23. #
  24. # use POSIX interface, symlink is followed automatically
  25. ZOOBIN="${BASH_SOURCE-$0}"
  26. ZOOBIN="$(dirname "${ZOOBIN}")"
  27. ZOOBINDIR="$(cd "${ZOOBIN}"; pwd)"
  28. if [ -e "$ZOOBIN/../libexec/zkEnv.sh" ]; then
  29. . "$ZOOBINDIR"/../libexec/zkEnv.sh
  30. else
  31. . "$ZOOBINDIR"/zkEnv.sh
  32. fi
  33. ZOODATADIR="$(grep "^[[:space:]]*dataDir=" "$ZOOCFG" | sed -e 's/.*=//')"
  34. ZOODATALOGDIR="$(grep "^[[:space:]]*dataLogDir=" "$ZOOCFG" | sed -e 's/.*=//')"
  35. ZOO_LOG_FILE=zookeeper-$USER-cleanup-$HOSTNAME.log
  36. if [ "x$ZOODATALOGDIR" = "x" ]
  37. then
  38. "$JAVA" "-Dzookeeper.log.dir=${ZOO_LOG_DIR}" "-Dzookeeper.log.file=${ZOO_LOG_FILE}" \
  39. -cp "$CLASSPATH" $JVMFLAGS \
  40. org.apache.zookeeper.server.PurgeTxnLog "$ZOODATADIR" $*
  41. else
  42. "$JAVA" "-Dzookeeper.log.dir=${ZOO_LOG_DIR}" "-Dzookeeper.log.file=${ZOO_LOG_FILE}" \
  43. -cp "$CLASSPATH" $JVMFLAGS \
  44. org.apache.zookeeper.server.PurgeTxnLog "$ZOODATALOGDIR" "$ZOODATADIR" $*
  45. fi