Datenlogger bauen, aber wie?

Das darfst Du nur zum Setzen der RTC nutzen und dann aus dem Sketch löschen.

Oder du fragst vorher ab, ob die Uhr läuft.

In meiner RTCLib für DS1307 geht das z.B. so:

void setup () 
{
  RTC.begin();
  if (! RTC.isrunning()) 
     RTC.adjust(DateTime(__DATE__, __TIME__));
...
}

Wenn die Batterie richtig angeschlossen ist, und die Uhr einmal gesetzt war, sollte isrunning() true zurückliefern.
Es gibt mehr RTC Libraries als Uhrenbausteine, aber das entsprechende Statusbit des DS1307 sollte jede Library liefern ...