Pergunta

Eu quero ter uma interface web para controlar quando chamar um script PHP. Nesta interface Eu quero ser capaz de definir certos momentos ou intervalos que um script será chamado. Esta informação será armazenada em um DB. Quando eu bati salvar Eu quero tê-lo lido todos os horários programados a partir do DB, em seguida, formatá-lo e escrevê-lo a um crontab para um trabalho cron. Existe uma maneira de ter PHP modificar um arquivo crontab?

Foi útil?

Solução

eu iria para a criação de um script "cron_runner.php" que sai a cada minuto, lê os dados cron e executa-los em conformidade. Ela se sente como reinventar a roda, mas pelo menos você não tem problemas com as permissões de arquivo.

Outras dicas

Deve ser possível, mas você precisa de PHP para ter os direitos necessários para acessar crontab do usuário ou para executar "crontab" na linha de comando. Em um ambiente de hospedagem compartilhada não é principalmente o caso.

Na verdade, você pode manipular os trabalhos do cron tão simples como arquivos de texto. Você tem que ser não tomar cuidado para frear qualquer coisa tho.

O daemon cron salva os cronjobs para cada usuário usando a seguinte estrutura:

/var
   /spool
        /cron
            /crontabs
                /root
                /user1
                /user2
                ..
                /user5

Usando essa informação, você pode modificar o arquivo de texto correspondente ao usuário para o qual você gostaria de definir o novo cron.

Esteja ciente de que a modificação de arquivos do sistema pode ser perigoso e você deve ser extremamente cuidadoso. Seu aplicativo também vai precisar de alguns privilégios adicionais para modificar esses arquivos.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top