I've been migrating my crontabs to systemd's timer units. They all look similar to this:
.timer file:
[Unit]
Description=timer that uses myjob.service
[Timer]
OnCalendar=*-*-* *:00:00
Unit=myjob.service
[Install]
WantedBy=timers.target
.service file:
[Unit]
Description=Script that runs myjob.sh
[Service]
ExecStart=/home/user/myjob.sh
My timers work but they also execute on system reboot. I would like my OnCalendar events to only run at the specified times, not whatever random time I reboot the PC. Any ideas?
UPDATE: I resolved this problem by converting my 'user' timers into root/system timers.
I disabled all of my .service and .timer files, and moved them out of my home directory into /etc/systemd/system.
I added the 'User=' section to each service file, so that my scripts were ran by the regular user and not as root.
Now my timers aren't being triggered on system startup and I was also getting problems with sporadic triggering when I logged in via ssh. This has also been solved now that they are under control of the root account but run my scripts are still run as the PID of regular user, which preserves my files' ownership attributes. Problem solved.