DIY small motor that turns for x seconds every y seconds
Even after your edit the data on timing don't make sense: you can't run a motor for 45 seconds every 30 seconds. But the pattern isn't important for the solution.

I would use a small microcontroller like the PIC10F200, which doesn't need any external components to create the on/off pattern. You can have the 10F200 in a DIL package (left), or a 3 mm long SOT23-6 package.

  

The microcontroller can't drive a motor directly, so use an output pin to control a transistor which drives the motor:



You don't say anything about RPM, but this small geared DC motor is available gear-ratios from 4.4:1 to 499:1 for 2020 RPM down to 12 RPM. For even slower you can add an extra gearbox.

Stepper motors are also often used with microcontrollers because you can control their position very accurately, but they require more complex control signals than the simple on/off, and especially at low RPMs don't run smoothly: they're not called "steppers" for nothing.