How we can control the DC motor
This can be done by a microcontroller driving two DPST relays.  One relay applies voltage to the motor to run it forwards, the other to run it in reverse.  The micro must leave enough time between turning off one relay and turning on the other to ensure break before make, else you blow a fuse.

As for timing, many micros are capable of driving common 32768 Hz watch crystals while sleeping and otherwise taking very little power.  The micro could wake up every 2 seconds and decide whether its time to run the motor or not.