This seems to do the trickseems to do the trick
saveTask =
CreateScheduledTask[FrontEndExecute[FrontEndToken["Save"]], 30];
StartScheduledTask[saveTask]
Dynamic[Refresh[NotebookSave[]; DateString[], UpdateInterval -> 30]]
Of course, there's also this built-in functionality with
SetOptions[SelectedNotebook[], NotebookAutoSave -> True]