I need a way to grep -v a list of times/date from the output of postqueue -p that are a few hours old, in order to remove them with postsuper -d.
Right now I have a script that is deleting the previous day of messages left in the queue, which runs once each day.
I want to clean up the job and delete every message more than X hours old, every hour.
Right now I'm running :
postqueue -p | grep $(date --date=yesterday +"%a %b") | cut -d" " -f1 | postsuper -d -
Which simply finds the day and month of the message eg."Sun Jan". Ugly, but functional.
The messages are tagged with "DAY MONTH TIME(HH:MM:SS)". How do I go about selecting all the ones that are older than X hours?