A single 9V gets you around 500mAh.
As a point of reference, a single AAA battery has roughly double that, depending on the brand.
And a single AA has roughly 5 times the capacity of the 9V. You'd need 6 of them to get up to the 9V voltage, which is kind of a waste if you're going to regulate it down to 5V anyway.
Instead of that delay(180000) use a sleep function, to put your Arduino to sleep.
Use a Pro Mini (rip off the power LED) or completely barebones processor and get rid of most of that 50 mA of the Uno - which is largely peripherals.
Run on 3xAA batteries (about 4.5V) without regulator or so. Plenty of voltage for an ATmega.
That way you can probably last weeks on a set of batteries, if not months.