Sleds/utils/remove-pubsubs.sh

47 lines
933 B
Bash

#!/bin/bash
# Usage: remove-pubsubs.sh {action} {utc-date}
#
# Removes "old" pubsubs matching {action} and having issueDate before {utc-date}
# Default {action} is SHARE and default {utc-date} is 8 hours prior to "now"
source /sequencelogic/bin/ionu-helpers.sh
action=SHARE
if [ $PLATFORM = 'Darwin' ]; then
adj="-v-8H"
else
adj="-d \"8 hours ago\""
fi
issueDate=`date $adj -u +"%Y-%m-%d %H:%M:%SZ"`
if [ "$1" != "" ]; then
action=$1
shift
fi
if [ "$1" != "" ]; then
issueDate="$1"
shift
fi
echo "Removing PubSub messages with action: $action and prior to: $issueDate"
cmd="db.pubsub.count({action:\"$action\", issueDate:{\$lt:\"$issueDate\"}})"
echo
echo "=== Counting rows to remove ==="
echo
mongoExec "$cmd"
echo
echo "=== Continue to remove pubsubs (verify count above; press ^c to quit) ==="
read resp
cmd=`echo "$cmd" | sed 's/count/remove/'`
echo $cmd
mongoExec "$cmd"
echo "*** Remove complete ***"
exit 0