Uma opção é definir WakeSystem=true
no arquivo .timer
, o que despertará o computador da suspensão para executar o trabalho.
Em seguida, no arquivo .service
que é executado, você pode adicionar:
ExecStopPost=sudo /bin/systemctl suspend
Para re-ressuspender o computador quando o trabalho terminar em execução.
Você também precisará atualizar /etc/sudoers
para permitir que o usuário execute o comando acima sem exigir uma senha.
Uma segunda opção é usar um dos timers monotônicos descritos em man systemd.timer
like OnActiveSec=
. Esses temporizadores param a contagem de tempo quando o computador é suspenso. Eles permitem que você expresse coisas como "Por favor, faça backup do meu computador uma vez a cada 8 horas em que ele estiver". Se o seu computador estiver normalmente em cerca de 8 horas por dia, isto corresponderá aproximadamente a uma vez por dia. Como você descreve, o seu computador é freqüentemente backup em torno da meia-noite de qualquer maneira - é feito o backup quando você primeiro suspender de manhã.
Em terceiro lugar, você confirmou que Persistent=
não funciona com suspend
quando a máquina é desligada?