Eu tive um problema semelhante, precisei que o servidor de backup permanecesse ativo por um longo backup antes de suspendê-lo.
Você pode usar o Keep.Awake link .
No entanto, ele ainda não funciona com o modo de hibernação e só funciona com o suspender para o RAM.
Eu atualizarei o programa para permitir a hibernação também em um futuro próximo.
Ainda não há pacote snap ou deb porque eu não consegui empacotá-lo, mas você pode baixar o programa aqui .
Apenas descompacte e execute o programa python3.
Funciona como um comando adequado. Digite --help para ver uma lista completa do que pode ser feito. Os exemplos abaixo são apenas alguns:
./keepawake.py --help
Para executar interativamente:
./keepawake.py
Para ser executado como um serviço de segundo plano:
nohup ./keepawake.py -r > /dev/null 2>&1 &
Para executar como serviço em segundo plano e definir 15 min (900 seg) como o tempo ocioso da atividade do usuário antes de determinar que o usuário está ocioso:
nohup ./keepawake.py -u 900 -r > /dev/null 2>&1 &
Para executar como serviço de segundo plano e definir uma carga mínima de CPU de 13%:
nohup ./keepawake.py -c 13 -r > /dev/null 2>&1 &
Para executar como serviço de segundo plano e definir um tráfego de rede mínimo como 5 KB (5120 bytes):
nohup ./keepawake.py -s 5120 -r > /dev/null 2>&1 &
Para executar todas as três configurações acima (rede, CPU, usuário inativo) de uma só vez:
nohup ./keepawake.py -s 5120 -c 13 -u 900 -r > /dev/null 2>&1 &