Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <pre>
- <?php
- /**
- * Jeito TOTALLY POG de adicionar uma tarefa de cronjobs aleatória
- *
- * O.E.
- * */
- /**
- * Aqui eu carrego uma lib que uso em todos meus scripts,
- * são só classes que faço para que o script leve menos tempo pra ser feito
- * */
- include "interface/classes.php";
- define("CPANEL_USER",""); /** Login do cPanel */
- define("CPANEL_PASS",""); /** Senha */
- define("CPANEL_PORT", 2082); /** O meu cPanel particularmente usa essa porta, deve ser a padrão.. */
- /**
- * Se tu quiser usar MultiCurl que fiz me avisa que posto essa classe também, ou então tu cria uma função curl pra enviar as requisições
- * */
- $curl = new MultiCurl;
- $curl->setCurlopt(array(
- CURLOPT_HTTPAUTH => CURLAUTH_BASIC,
- CURLOPT_PORT => CPANEL_PORT,
- CURLOPT_USERPWD => CPANEL_USER.':'.CPANEL_PASS,
- CURLOPT_RETURNTRANSFER => 1,
- CURLOPT_COOKIE => null,
- CURLOPT_HEADER => 0,
- CURLOPT_NOBODY => 0,
- CURLOPT_FOLLOWLOCATION => 1,
- ));
- $pagina = "http://google.com"; /** Página que será executada pela tarefa aleatória */
- $dominio = "http://x470.com"; /** Teu domínio, sem barra no fim. */
- $hora = rand(10,16); /** Programa o script para executar entre as horas 3 e 15, por exemplo */
- /**
- * Se liga onde tem linekey_1, linekey_2.. esses são os números das tarefas do cronjobs, se tu já tiver outras tarefas lá, toma muito
- * cuidado pro script não acabar deletando o que não devia deletar, eu fiz pra ele detectar qual é a tarefa que ele deve apagar, mas vai
- * que buga..
- * */
- /**
- * Pega o conteúdo da página que contém todas as tarefas
- * */
- $PAPADOPOLIS = $curl->single("{$dominio}:".CPANEL_PORT."/frontend/x3/cron/cron_entries.html"); /** Requisição curl com o setopt que mandei ABOVE */
- preg_match_all("/command.info.\d+\x22.*?\x22GET (.*?)\x22.*\n.*?value.{2}(.*?)\x22/i",$PAPADOPOLIS,$tarefasFiltro); /** Sou porco pra ReGexp, foda-se. */
- /**
- * Encontra a tarefa randômica que deve ser excluída
- * */
- $tarefaAuth = null;
- for($i=0; $i<count($tarefasFiltro[1]); ++$i)
- if($tarefasFiltro[1][$i] == $pagina)
- $tarefaAuth = $tarefasFiltro[2][$i];
- /**
- * Deleta a que já foi executada
- * */
- $excluirTarefa = "{$dominio}:".CPANEL_PORT."/json-api/cpanel?cpanel_jsonapi_version=2&cpanel_jsonapi_module=Cron&cpanel_jsonapi_func=remove_line&linekey={$tarefaAuth}";
- $curl->add($excluirTarefa);
- /**
- * Adiciona a nova tarefa randômica no cronjobs
- * */
- $novaTarefa = "{$dominio}:".CPANEL_PORT."/json-api/cpanel?cpanel_jsonapi_version=2&cpanel_jsonapi_module=Cron&cpanel_jsonapi_func=add_line&minute=*&hour={$hora}&day=*&month=*&weekday=*&command=".rawurlencode("GET {$pagina}");
- $curl->add($novaTarefa);
- /**
- * Faz a mágica (executa todas as urls)
- * */
- $exec = $curl->exec();
- ?>
- </pre>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement