qual é a diferença entre cron e systemd?

2

qual é a diferença entre cron e systemd ?  Por que não podemos usar apenas um desses dois?

    
por xristof 04.06.2015 / 12:58

1 resposta

6

Eles são coisas completamente diferentes. systemd é um sistema init (substitui o antigo systemV init ). Ele se estende das seguintes maneiras:

  • Unifica init, login e initscripts, para que diferentes distribuições não tenham mais seu próprio conjunto personalizado de scripts para carregar daemons
  • Ele rastreia os serviços (daemons) para que eles tenham controle sobre eles depois que eles começarem, ele também pode segurar os soquetes para comunitar e iniciá-los sob demanda
  • o init estava ok nas configurações mais antigas e estáticas, mas com hotplugging, conexões voláteis, invariantes multiterminos, o systemd é um pouco mais robusto.
  • Ele paraleliza a seqüência de inicialização, descobrindo as dependências e iniciando coisas independentes em paralelo.
  • Ele conhece e controla muito sobre seu sistema - o init acabou de iniciar os scripts especificados e a interface de login e, em seguida, fez quase nada até o encerramento. Essa é uma das coisas que torna as pessoas céticas - ela se sente inchada e mais difícil de personalizar ou depurar. Enfim - monitora os processos, rastreia mudanças no hardware, controla o tempo, o local e o gerenciamento de energia, monta o armazenamento e os timers . Nesse sentido, você não precisa estritamente cron se estiver usando systemd . No entanto, não funciona ao contrário!

Então ... se você usa init , então você precisa de cron ou algo similar para agendar tarefas periódicas. Se você usar systemd , ainda poderá usar cron , mas também poderá reescrever as regras como .timer files e deixar systemd se preocupar quando iniciar as coisas (em vez de confiar em um daemon separado).

    
por 04.06.2015 / 13:23

Tags