Se você quiser rodar programas ou agendar atividades para horários opostos aos de pico do sistema, ou seja, quando estiver (razoavelmente) ocioso, o comando batch é a solução.
Tarefas agendadas através deste utilitários serão executadas automaticamente quando a média da carga de trabalho do sistema estiver abaixo de 0.8 — no meu sistema (Debian 9.0 Stretch o valor padrão é 1.5.
É possível ajustar este número no atd ou no atrun, se ele não for satisfatório.
Use man, combinado com o comando grep, para saber qual o valor no seu sistema:
man batch | grep -i average
other words, when the load average drops below 1.5,
processing rules with respect to load average apply. If atq
O batch faz parte do pacote do comando at — clique para obter mais detalhes.
Você pode restringir acesso ao at e ao batch, inscrevendo os nomes de usuários no arquivo /etc/at.deny.
Para alterar o valor referente à carga média de trabalho do sistema, abaixo do qual o batch já pode começar a executar as tarefas listadas, use o comando atd:
atd -l x
Substitua x pelo valor desejado.
Este comando necessita de privilégios administrativos.
Ao rodar o comando batch, ele entrará no modo prompt, pedindo para que você forneça tarefas a serem executadas, uma por linha.
Ao terminar de listar os comandos, tecle ‘Ctrl + D’ (^D).
batch
warning: commands will be executed using /bin/sh at> espeak -v pt "Estou ocioso, no momento, patrão!" at> espeak -v pt "Me dê algo para fazer." at> ^Djob 20 at Thu Sep 14 15:22:00 2017
Esta é a maneira de rodar o comando. Ele não aceita parâmetros, como o comando at.