Muitas vezes, quero que meu computador execute uma única tarefa, mas não agora. Por exemplo, eu poderia avisar em 30 minutos que é hora de deixar o trabalho. Ou talvez eu queira que ele execute um teste complicado daqui a duas horas, quando tenho certeza de que a maioria das pessoas sairá do escritório.
Eu sei que eu poderia criar um trabalho cron para executar em uma hora específica do dia, mas isso parece dar muito trabalho quando tudo que eu quero é algo simples como "Executar este script em 10 minutos", além de ter que descobrir a que horas será realmente X minutos / horas / dias a partir de agora e, em seguida, exclua o trabalho cron assim que terminar.
Claro que eu poderia escrever esse script e executá-lo em segundo plano:
sleep X
do_task
Mas isso parece tão desajeitado: eu preciso de um novo script para cada tarefa ou preciso escrever e manter um script genérico o suficiente para fazer o que quero, sem mencionar que preciso descobrir quantos segundos são os minutos, horas ou dias que eu quero.
Não existe uma solução já estabelecida para esse problema?
fonte
Respostas:
Eu uso um script simples com
at
:Você poderia facilmente canalizar
$message
paranotify-send
oudzen
se quiser uma notificação na área de trabalho em vez de um email.fonte
+ 2 days
) e diferentes formatos (YYYY-MM-DD
). Consulte a página de manual para mais detalhes.A maneira genérica de usar
at
éEscreva um script que faça o que você deseja fazer. Use o caminho completo para todos os comandos externos, registre a saída em um arquivo de log adequado ou envie-o por correio.
Teste o script.
Ative-o com
at -f YOURSCRIPT -t MMDDhhmm
fonte