#!/bin/sh

set -euo pipefail

ROOT_PATH='/data/drainer/drainer.data'
ARCHIVE_NAME="drainer.pb.$(date +%Y%m%d%H%M%S)"

echo
echo '## Start to old archive PB...'
echo "## Archive destination is $ROOT_PATH/$ARCHIVE_NAME.tgz"

err_exit() {
    echo "ERROR: $1" 1>&2
    exit 1
}

# pre-checks
which tar >/dev/null 2>&1 || err_exit 'tar not found'
which xargs >/dev/null 2>&1 || err_exit 'xargs not found'
which pigz >/dev/null 2>&1 || err_exit 'pigz not found'

# prepare environments
cd "$ROOT_PATH"
mkdir -p "$ARCHIVE_NAME"
find . -maxdepth 1 -name 'binlog-*' | sort -r | tail -n +2 | xargs mv -t "$ARCHIVE_NAME"

echo '## Archive PB is done. Now start to compress the archive path, the compression takes ... '
time tar -cf - "$ARCHIVE_NAME" --remove-files | pigz -p 64 > "$ARCHIVE_NAME.tgz"
echo '## Archive finished!'
