mirror of https://gitee.com/bigwinds/arangodb
upgrade script for homebrew
This commit is contained in:
parent
88ad5b105f
commit
2a5bc9297d
|
@ -0,0 +1,78 @@
|
||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if test "$#" -ne 4; then
|
||||||
|
echo "usage: $0 <arangod2_dir> <database2_dir> <arangod3_dir> <database3_dir>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
ARANGOD2_DIR="$1"
|
||||||
|
DATABASE2_DIR="$2"
|
||||||
|
ARANGOD3_DIR="$3"
|
||||||
|
DATABASE3_DIR="$4"
|
||||||
|
|
||||||
|
if [ ! -d "${ARANGOD2_DIR}" ]; then
|
||||||
|
echo "${ARANGOD2_DIR} not available, no need to upgrade"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f "${DATABASE3_DIR}/SERVER" ]; then
|
||||||
|
echo "${ARANGOD3_DIR}/SERVER exists, upgrade already done?"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
ARANGOD2="${ARANGOD2_DIR}/sbin/arangod-2.8"
|
||||||
|
ARANGOD2_CONF="${ARANGOD2_DIR}/etc/arangodb/arangod-2.8.conf"
|
||||||
|
|
||||||
|
ARANGOSH2="${ARANGOD2_DIR}/bin/arangosh-2.8"
|
||||||
|
ARANGOSH2_CONF="${ARANGOD2_DIR}/etc/arangodb/arangosh-2.8.conf"
|
||||||
|
|
||||||
|
ARANGODUMP2="${ARANGOD2_DIR}/bin/arangodump-2.8"
|
||||||
|
ARANGODUMP2_CONF="${ARANGOD2_DIR}/etc/arangodb/arangodump-2.8.conf"
|
||||||
|
|
||||||
|
ARANGOD3="${ARANGOD3_DIR}/sbin/arangod"
|
||||||
|
ARANGOSH3="${ARANGOD3_DIR}/bin/arangosh"
|
||||||
|
ARANGORESTORE3="${ARANGOD3_DIR}/bin/arangorestore"
|
||||||
|
|
||||||
|
DUMPDIR="${DATABASE2_DIR}/DUMP"
|
||||||
|
|
||||||
|
echo "Upgrade in progress..."
|
||||||
|
|
||||||
|
echo "Waiting for ArangoDB 2 to boot..."
|
||||||
|
${ARANGOD2} -c ${ARANGOD2_CONF} --log.tty "" &
|
||||||
|
sleep 10
|
||||||
|
|
||||||
|
while ${ARANGOSH2} -c ${ARANGOSH2_CONF} --quiet --javascript.execute-string 'arango.isConnected() ? 1 : 0'; do
|
||||||
|
sleep 10
|
||||||
|
echo "Waiting for ArangoDB 2 to boot..."
|
||||||
|
done
|
||||||
|
|
||||||
|
VERSION=`${ARANGOSH2} -c ${ARANGOSH2_CONF} --quiet --javascript.execute-string 'require("internal").print(arango.getVersion()); 0'`
|
||||||
|
|
||||||
|
if [ "${VERSION}" != "2.8.10" ]; then
|
||||||
|
echo "$0: failed to start ArangoDB 2.8.0, got version ${VERSION} instead"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "ArangoDB 2 has started, beginning dump process..."
|
||||||
|
rm -rf ${DATABASE2_DIR}/DUMP
|
||||||
|
${ARANGODUMP2} -c ${ARANGODUMP2_CONF} --include-system-collections true --output-directory ${DUMPDIR}
|
||||||
|
|
||||||
|
echo "Dump has finished, shutting down ArangoDB 2..."
|
||||||
|
kill -SIGINT %1
|
||||||
|
wait %1
|
||||||
|
|
||||||
|
echo "Waiting for ArangoDB 3 to boot..."
|
||||||
|
${ARANGOD3} --log.foreground-tty false &
|
||||||
|
sleep 10
|
||||||
|
|
||||||
|
while ${ARANGOSH3} --server.password "" --quiet --javascript.execute-string 'arango.isConnected() ? 1 : 0'; do
|
||||||
|
sleep 10
|
||||||
|
echo "Waiting for ArangoDB 3 to boot..."
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "ArangoDB 3 has started, beginning restore process..."
|
||||||
|
${ARANGORESTORE3} --server.password "" --input-directory ${DUMPDIR}
|
||||||
|
|
||||||
|
kill %1
|
||||||
|
wait %1
|
Loading…
Reference in New Issue