if I happen to need my disk for virtual machine, how would I tell the scheduler to stop?
Cron e anacron são (normalmente) serviços daemon. Você pode parar e iniciá-los da maneira como você para e inicia qualquer outro serviço.
cron would not be good, since it would not work when my computer is powered off
Esse é um critério muito difícil de se locomover. O que você deseja que o software faça enquanto o computador está desligado?
anacron might be better, but I assume that it would run all the tasks right after booting.
Aparentemente. Aqui está uma ideia: inicie e pare anacron
com cron
.
Run only one disk heavy task at a time
O anacron tem essa opção:
-s
Serializes execution of jobs. Anacron does not start a new job before the previous one finished.
Isso deixa você para implementar esses dois:
- Não corra quando estiver usando bateria.
- Forneça algum status visível. Isso poderia ser através de kdialog mesmo.
O primeiro pode ser realizado fazendo com que o cron verifique o status da bateria antes de iniciar o anacron. O segundo poderia ser feito de várias maneiras; você já sugeriu um você mesmo.