Agradáveis comandos em um script .sh para tarefas agendadas

4

Eu tenho este script php que eu preciso rodar em webhosting compartilhado. Eu criei um cron job que executa um script sh. O comando para o cron foi:

/bin/sh /home/user/script.sh

Então, suponho que seja o Bourne Shell (ou algo compatível). O script em si foi:

#!/bin/sh
cd /home/user/public_html/folder/
#updating DB
php -q ./run_interactive_job.php batch_control_files/updateDB
echo Updated DB results

A minha pergunta é :
Posso adicionar Nice prioridades ao comando php? Ou eu preciso adicioná-lo ao script no comando cron. Qual é mais provável que funcione?

nice 10 php -q ./run_interactive_job.php batch_control_files/updateDB

Isso seria bem-sucedido na execução de uma prioridade mais baixa.

PS: Basicamente, esse script sobrecarregou o servidor antes quando eu o executei através do navegador e isso afetou o apache nesse servidor, resultando em meus hosts bloqueando o arquivo. Pedi repetidamente que desbloqueiem para testá-lo com parâmetros diferentes. E agora estou tentando executá-lo através do cron com uma prioridade mais baixa, na esperança de que isso não afete o apache. Mas eu não quero que isso crie problemas novamente, por isso estou tentando usar o NICE

UPDATE : usei o arquivo em lote conforme mostrado. Eu usei o comando nice antes de php dentro do arquivo de lote. A única diferença é:

nice -n 10 php -q ./run_interactive_job.php batch_control_files/updateDB

Eu adicionei comandos para executar scripts php adicionais com a mesma propriedade legal para eles. Todos eles funcionaram muito bem.

OBRIGADO A TODOS PELA ENTRADA @ sm4rk0 a resposta resolve meus problemas

    
por xlordvader 17.01.2013 / 03:42

1 resposta

4

Ambos os métodos devem funcionar, mas o IMO é mais limpo para colocar nice no script, assim como você fez no seu exemplo. Depois de uma verificação com man nice , descobri que o exemplo em questão tinha uma sintaxe incorreta. A sintaxe correta seria:

nice -n 10 command

Nicenesses variam de -20 (agendamento mais favorável) a 19 (menos favorável).

E, como disse Terdon, 10 é o valor padrão, então "-n 10" pode ser omitido.

Nota: Embora diminua a prioridade do processo, o bom não fará com que ele cause menos carga da CPU. Então, se apenas a razão para se preocupar não é "sufocar" o apache , então este método está OK. Mas se seus hosts lhe derem uma cota de tempo de CPU, isso não ajudará muito.

    
por 17.01.2013 / 04:03