#!/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