Como posso iniciar condicionalmente um serviço com base na hora local atual usando o Mint Linux 15?

1

Eu configurei tarefas agendadas que interrompem serviços às 2:00 da manhã e as reinicia às 8:00. No entanto, meus usuários empreendedores (minha família; proteger a caixa não é uma possibilidade) determinaram que, se eles reinicializassem a caixa, os serviços voltariam a ficar on-line como parte do processo de inicialização padrão.

A melhor solução que consegui criar foi modificar os scripts de início / parada para examinar a hora como uma condição ou para que as tarefas cron colocassem um arquivo de sinalização no disco que os serviços iniciam. permitindo a inicialização. (O segundo separa o cronograma, então eu só entro em um lugar e me permite substituí-lo facilmente.)

Esta é a melhor maneira técnica de abordar o problema? Existe outra maneira de vincular o desligamento através do cron com o qual eu não estou familiarizado?

    
por Skerkles 23.06.2013 / 18:51

1 resposta

1

OK, o serviço que eu queria controlar foi convertido em Upstart . Pelo Cookbook do Upstart , temporariamente desabilitar um serviço para que ele não seja iniciado na próxima inicialização é feito do seguinte modo:

# echo "manual" >> /etc/init/myjob.override

Então eu criei o seguinte script de inicialização e desligamento para ser chamado pelo cron:

PMSStop:

#!/bin/bash
OverrideFile="/etc/init/plexmediaserver.override"

# Create the override file if it doesn't already exist.
if [ ! -f $OverrideFile ]
then
    echo Creating flag file $OverrideFile.
    echo "manual" >> $OverrideFile
else
    echo Flag file $OverrideFile exists.
fi

# Stop the plexmediaserver service.
/sbin/stop plexmediaserver

PMSStart:

#!/bin/bash
OverrideFile="/etc/init/plexmediaserver.override"

# Remove the override file if exists.
if [ -f $OverrideFile ]
then
    rm $OverrideFile
fi

# Start the plexmediaserver service.
/sbin/start plexmediaserver

Eu modifiquei as tarefas do cron para usar os arquivos em lote recém-criados e parece estar funcionando.

    
por 24.06.2013 / 00:12