Criar um cron job / tarefa
É possível criar os chamados cron jobs, ou seja, programas que são executados em horários definidos previamente. Não é permitido criar cron jobs que sejam executados mais do que 1 vez a cada 10 minutos. Também não são permitidos cron jobs pesados (que sobrecarreguem extremamente o processador). Afinal, há outros sites a funcionar no mesmo servidor. Não quer ser incomodado pelos outros, e os outros também não querem ser incomodados por si. A WebOké pode terminar cron jobs, se necessário. A regra é que um cron job não pode ser executado durante mais de 10 segundos. Se quiser executar cron jobs com mais frequência, isso é permitido a partir dos planos POWER WEBHOST.
Se criar vários cron jobs, a regra aplica-se ao total: inicie no máximo 1 cron job a cada 10 minutos, por favor. Distribua bem os seus cron jobs, porque isso beneficia o desempenho do servidor.
No seu cron job inclua, de preferência, esta instrução: set_time_limit(10). Assim, o seu cron job para se demorar mais de 10 segundos. Um cron job é introduzido a partir do painel de controlo.
Qual é o aspeto de um cron job
Um cron job que, por exemplo, inicia um programa PHP tem este aspeto:
/usr/local/bin/php -q /home/<usrdir>/domains/<uwdomein.xx>/public_html/<taak.php>
Substitua <usrdir> pelo nome de utilizador do DirectAdmin, <uwdomein.xx> pelo seu nome de domínio e <taak.php> pelo seu script PHP.
Envio de um e-mail após cada cron job
Por defeito, é enviado um e-mail para a sua conta de e-mail padrão. Nesse e-mail aparecem os eventuais erros do cron, bem como eventuais instruções de saída (display). Pode consultar essa caixa de correio em webmail.weboke.nl, indicando como nome de utilizador o nome da sua conta, a palavra-passe e o nome do servidor. Se não quiser receber um e-mail de cada vez, coloque isto a seguir ao cron job: /dev/null 2>&1
Os caminhos são um pouco diferentes dos de FTP
Tem de colocar à frente o caminho completo para o PHP e o caminho completo no servidor para o programa PHP. É diferente do caminho via FTP: agora há /home/usrdir à frente. Substitua usrdir pelo seu próprio nome de utilizador (o do painel de controlo).
Importante!! Um cron job não conhece nenhum nome de domínio
Tenha também em conta que o programa PHP, quando executado a partir de um cron job, não sabe em que site está a correr. $_SERVER['SERVER_NAME'] está vazio e também um include vai falhar, porque não existe um caminho base!!
Código de exemplo a incluir no programa do cron para o evitar:
- $pad = "/home/<usrname>/domains/<uwdomein.xx>/public_html"; (não se esqueça de substituir <usrdir> e <uwdomein.xx>!!!)
- $_SERVER['SERVER_NAME'] = 'uwdomein.xx';
- $_SERVER['DOCUMENT_ROOT'] = $pad;
- set_include_path($pad . PATH_SEPARATOR . ini_get("include_path"));
