Uma combinação de um trabalho do Upstart e um trabalho cron :
Primeiro, crie um trabalho do Upstart. Crie um arquivo chamado ~/.config/upstart/my-download.conf contendo:
description "My download job."
start on resume-download
stop on stop-download
respawn
respawn limit 10 5
script
cd /path/to/download/folder
wget --continue uri://link/to/download
end script
Agora, adicione uma tarefa cron para iniciar e parar este trabalho do Upstart. Execute EDITOR=gedit crontab -e e adicione ao arquivo:
0 0 * * * /sbin/initctl emit resume-download
0 5 * * * /sbin/initctl emit stop-download
Você pode iniciar manualmente o download quando quiser usando:
initctl emit resume-download
# or
start my-download
E pare a qualquer momento usando:
initctl emit stop-download
# or
stop my-download
- Devido ao
respawnno trabalho, o Upstart tentará reiniciar owgetse ele sair. Isso pode ser útil se expirar e sair às duas da manhã. Um limite é colocado para que não tenhamos o Upstart tentando iniciar o wget infinitamente (por exemplo, a rede está enfrentando problemas estendidos, o download foi concluído, etc.). - Adicionamos
initctl emitaos comandos no cron job. Desta forma, se criarmos mais trabalhos do tipo Upstart, todos eles começando neste evento, esta única entrada cron será suficiente para iniciar todos eles.