Yet another answer you did not look for:
parity --mode passive
parity is not
geth, but the
--mode passive does exactly what you asked for.
--mode MODE Set the operating mode. MODE can be one of:
last - Uses the last-used mode, active if none.
active - Parity continuously syncs the chain.
passive - Parity syncs initially, then sleeps and
wakes regularly to resync.
dark - Parity syncs only when the RPC is active.
offline - Parity doesn't sync. (default: last).
I'm using the
passive mode on all my devices, because it goes in sleep mode after syncing for around one hour and then checks again for new blocks. This saves a lot of resources most of the time on my machines.
--mode-timeout SECS Specify the number of seconds before inactivity
timeout occurs when mode is dark or passive
--mode-alarm SECS Specify the number of seconds before auto sleep
reawake timeout occurs when mode is passive