Permissões em scripts cron?

1

Eu tenho alguns scripts php que eu preciso agendar a cada hora.

(a) Como posso agendá-los a partir da linha de comando / shell?

(b) Que permissões / propriedade devo definir nelas?

Editar 1:

Oi pessoal - o site está sendo executado pelo usuário 'apache'. Qual usuário o script do cron executa como? root ou apache ou outra coisa?

    
por siliconpi 29.10.2010 / 05:34

4 respostas

2

crontab -e abrirá o editor crontab para seu crontab pessoal, desde que o administrador permita. Aqui você colocaria uma linha como

0 * * * * /usr/bin/php /home/matt_tm/php/runme.php

uma vez para cada script, com /usr/bin/php sendo o caminho completo para sua linha de comando php binário e o caminho completo para o arquivo php que você deseja executar.

Isso executará o script no 0º minuto (: 00) de cada hora, todos os dias do mês, todos os meses e todos os dias da semana (convém distribuí-los para que um script comece em 0, um começa no 5º minuto e assim por diante). Os comandos em seu crontab pessoal são executados como sua conta, portanto, todas as suas necessidades de script, neste caso, são para que sua conta possa ler o script, executar o binário php e ter acesso a todos os arquivos necessários ao script.

    
por 29.10.2010 / 06:06
1

Como alternativa à resposta do DerfK, você também pode iniciar cada PHP com a linha.

#!/path/to/php

e chmod o arquivo para ser executável.

Sua linha crontab agora ficará assim:

0 * * * * /path/to/php/script.php
    
por 01.11.2010 / 05:52
0

(a) você pode usar o php-cli ou o wget / curl (outros utilitários) (b) executar permissão. se o script php precisar criar o arquivo, verifique se a permissão é igual à do usuário que está sendo executado.

    
por 29.10.2010 / 05:58
0

para agendá-los, edite o cronfile para o usuário com o qual eles devem ser executados. "man crontab" deve dizer-lhe como fazer isso.

quanto a qual propriedade, tudo depende do que os scripts devem fazer. se eles modificarem algum recurso, o script precisará ter permissão de usuário ou grupo para modificar o recurso (supondo que esse recurso seja um arquivo local). muitas vezes a maneira mais sensata de fazer isso em um sistema similar ao UNIX é através de permissões de grupo.

    
por 29.10.2010 / 06:09