systemd timers don’t overlap

systemd timers in the same unit (see systemd.timer(5)) never overlap. That is to say, if a timer is still running when the next scheduled trigger comes up, it will not start a second instance.

This means that it’s not necessary to wrap timers with a utility such as flock or lockrun, as is generally recommended with good old cronjobs.