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
respawn
no trabalho, o Upstart tentará reiniciar owget
se 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 emit
aos 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.