47 lines
933 B
Bash
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
|