Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

marcosorbaneca

Código PHP com erro para Backup Cpanel

Recommended Posts

amigos, preciso de uma ajuda com esse código abaixo, tenho uma conta de ftp cujo usuario é o email portanto tem o @ não entendo de PHP por isso recorro aos colegas para me auxiliar eta dando erro de sintaxe conforme

==>> Parse error: syntax error, unexpected '@' <<==

 

<?php

// PHP script para permitir backups periódicos do cPanel automaticamente, opcionalmente a um servidor remoto FTP.

// Este script contém senhas. MANTENHA O ACESSO A ESSE ARQUIVO SEGURO (coloque-o em seu próprio diretório, sem /www/)

// ********* OS ITENS SEGUINTES DEVEM SER CONFIGURADOS *********

// Informação necessária para o acesso ao cPanel.

$cpuser = “enter-cpanel-username-here”; // Nome de usuário utilizado para logar no CPanel

$cppass = “enter-password-here”; // Senha utilizada para logar no CPanel

$domain = “enter-domain-here”; // Nome de domínio onde o CPanel é executado

$skin = “x3”; // Escolha uma skin do cPanel para utilizar (o script não funcionará se não corresponder). A maioria dos usuários utiliza a skin padrão.

// Informação necessária para o servidor FTP

$ftpuser = “enter-ftp-user-here”; // Nome de usuário para a conta FTP

$ftppass = “enter-ftp-password-here”; // Senha para a conta FTP

$ftphost = “enter-ftp-hostname-here”; // Nome completo do servidor ou endereço de IP para o servidor FTP

$ftpmode = “ftp”; // FTP mode (“ftp” para ativo, “passiveftp” para passivo)

$ftpport = “21”; // Port (padrão = 21)

$rdir = “/remote-folder-name-here”; // Diretório remoto (padrão = / )

// Informações de notificação

$notifyemail = “enter-email-address-here”; // Endereço de email para enviar resultados.

// Modo seguro ou não-seguro

$secure = 1; // Configure em 1 para SSL (requer suporte SSL), caso contrário irá utilizar HTTP avançado

// Configure em 1 para ter o resultado da página visível no histórico de seu cron.

$debug = 0;

// *********** SEM CONFIGURAÇÃO NOS ITENS ABAIXO *********

if ($secure) {

$url = “ssl://”.$domain;

$port = 2083;

} else {

$url = $domain;

$port = 2082;

}

$socket = fsockopen($url,$port);

if (!$socket) { echo “Failed to open socket connection
Bailing out!\n”; exit; }

// Codifique a linha de autenticação

$authstr = $cpuser.”:”.$cppass;

$pass = base64_encode($authstr);

$params = “dest=$ftpmode&email=$notifyemail&server=$ftphost&user=$ftpuser&pass=$ftppass&port=$ftpport&rdir=$rdir&submit=Gener

ate Backup”;

// Faça um POST no cPanel

fputs($socket,”POST /frontend/”.$skin.”/backup/dofullbackup.html?”.$params.” HTTP/1.0\r\n”);

fputs($socket,”Host: $domain\r\n”);

fputs($socket,”Authorization: Basic $pass\r\n”);

fputs($socket,”Connection: Close\r\n”);

fputs($socket,”\r\n”);

// Consiga uma resposta mesmo que não vá fazer nada com ela

while (!feof($socket)) {

$response = fgets($socket,4096);

if ($debug) echo $response;

}

fclose($socket);

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloque o erro completo. Aproveite e leia este tópico, vai te auxiliar em interpretar erros.

 

http://forum.imasters.com.br/topic/542539-atencao-orientacoes-e-regras-do-forum-de-php/

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Giovanird
      Olá a todos!

      Tenho uma rotina no cron em um servidor que executa uma pagina onde é alterado o status de clientes.
      Preciso que após acessar e alterar o status do cliente, está pagina seja direcionada para uma outra pagina após uns 10 segundos.
      Executando diretamente pelo navegador a página é direcionada corretamente, quando executada pelo cron ela não direciona.
       
      No  cron estou usando o comando:
      curl -s https://www.dominio.com.br/alt.php
       
      No direcionamento coloquei um refresh javascript dentro de um header
      header( 'refresh:10; url=https://www.dominio.com.br/posalt.php?t=2');
       
      Obs.: Está pagina já roda a algum tempo no cron sem o direcionamento, agora que se fez necessário criar este direcionamento.
       

    • Por Jack Oliveira
      Ola galera boa noite
      Pessoal preciso enviar um arquivo por e-mail, onde o sistema faz backups do banco de dados manual e automatico
       
      preciso que seja enviado apenas o sql que for gerado tanto manual quanto automatico
      ambos esta fazendo o backups normalmente sem problemas
       
      Segue o código a baixo
       
      <?php session_start(); require_once('../../database/config.php'); require_once('../../database/config.database..php'); require_once('../../includes/funcoes.php'); require_once('controller.php'); if (!is_dir('../../backups')) { @mkdir('../../backups', 0777, true); } $name_backup = "Backups_" . date("ymdHis"); $querySQL = DBCreate('backups', [ 'name' => "Banco_de_dados_" . $name_backup, 'type' => 'sql', 'status' => 'Iniciado' ], true); $queryZIP = DBCreate('backups', [ 'name' => "Arquivos_ZIP_" . $name_backup, 'type' => 'zip', 'status' => 'Iniciado' ], true); try { require_once("Mysqldump.php"); $dump = new Ifsnop\Mysqldump\Mysqldump('mysql:host=' . DB_HOSTNAME . ';dbname=' . DB_DATABASE . '', '' . DB_USERNAME . '', '' . DB_PASSWORD . ''); $dump->start("../../backups/Banco_{$name_backup}.sql"); if (file_exists("../../backups/Banco_{$name_backup}.sql")) { DBUpdate('backups', array('status' => 'concluido'), "id = '{$querySQL}'"); } } catch (\Exception $e) { $return = [ "title" => "Oops!", "msg" => "Erro ao exportar banco de dados.", "icon" => "error" ]; DBUpdate('backups', array('status' => 'Erro ao exportar banco de dados'), "id = '{$querySQL}'"); Redireciona('?erro'); } try { $filename = "Arquivos_ZIP_{$name_backup}.zip"; $rootPath = realpath('../../wa/'); $zip = new ZipArchive(); $zip->open("../../backups/$filename", ZipArchive::CREATE | ZipArchive::OVERWRITE); $files = new RecursiveIteratorIterator( new RecursiveDirectoryIterator($rootPath), RecursiveIteratorIterator::LEAVES_ONLY ); foreach ($files as $name => $file) { if (!$file->isDir()) { $filePath = $file->getRealPath(); $relativePath = substr($filePath, strlen($rootPath) + 1); $zip->addFile($filePath, $relativePath); } } $zip->close(); } catch (\Exception $e) { $return = [ "title" => "Oops!", "msg" => "Erro ao criar arquivo de backup no formato zip!", "icon" => "error" ]; DBUpdate('backups', array('status' => 'Erro ao criar arquivo de backup no formato zip'), "id = '{$queryZIP}'"); } DBUpdate('backups', array('status' => 'concluido'), "id = '{$queryZIP}'"); if (empty($return)) { $return = [ "title" => "Deu Certo!", "msg" => "Backup Realizado com Sucesso!", "icon" => "success" ]; } echo json_encode($return); if (!empty(getConfigBackup('mail_notify'))) { @require_once('../../controller/class.phpmailer/PHPMailerAutoload.php'); $mail = new PHPMailer(); $mail->CharSet = "UTF-8"; $mail->isSMTP(true); $mail->SMTPSecure = getConfigBackup('mail_seguranca'); $mail->Host = getConfigBackup('mail_host'); $mail->Username = getConfigBackup('mail_email'); $mail->Password = getConfigBackup('mail_senha'); $mail->Port = getConfigBackup('mail_porta'); $mail->From = getConfigBackup('mail_email'); $mail->FromName = ConfigPainel('site_nome'); $mail->Subject = "Seu Backup está pronto!"; if (strstr(getConfigBackup('mail_notify'), ';')) { $email = explode(';', getConfigBackup('mail_notify')); foreach ($email as $key => $value) { $mail->AddAddress($value); } } else { $mail->AddAddress(getConfigBackup('mail_notify')); } $dados = "Olá, o Backup do painel " . ConfigPainel('site_nome') . " foi realizado com sucesso. Ele está disponível em seu dashboard na área de backups. Acesse o Painel para Gerenciar seus backups."; $mail->Body = "<div id='m_-7598057918015146334m_-2331253013811829785wrapper' dir='ltr' style='background-color:#f7f7f7;margin:0;padding:70px 0 70px 0;width:100%'> <table border='0' cellpadding='0' cellspacing='0' height='100%' width='100%'> <tbody> <tr> <td align='center' valign='top'> <div id='m_-7598057918015146334m_-2331253013811829785template_header_image'></div> <table border='0' cellpadding='0' cellspacing='0' width='600' id='m_-7598057918015146334m_-2331253013811829785template_container' style='background-color:#ffffff;border:1px solid #dedede;border-radius:3px!important'> <tbody> <tr> <td align='center' valign='top'> <table border='0' cellpadding='0' cellspacing='0' width='600' id='m_-7598057918015146334m_-2331253013811829785template_header' style='background-color:#333333;border-radius:3px 3px 0 0!important;color:#ffffff;border-bottom:0;font-weight:bold;line-height:100%;vertical-align:middle;font-family:&quot;Helvetica Neue&quot;,Helvetica,Roboto,Arial,sans-serif'> <tbody> <tr> <td id='m_-7598057918015146334m_-2331253013811829785header_wrapper' style='padding:36px 48px;display:block'> <h1 style='color:#ffffff;font-family:&quot;Helvetica Neue&quot;,Helvetica,Roboto,Arial,sans-serif;font-size:30px;font-weight:300;line-height:150%;margin:0;text-align:left'>Backup Realizado com sucesso</h1> </td> </tr> </tbody> </table> </td> </tr> <tr> <td align='center' valign='top'> <table border='0' cellpadding='0' cellspacing='0' width='600' id='m_-7598057918015146334m_-2331253013811829785template_body'> <tbody> <tr> <td valign='top' id='m_-7598057918015146334m_-2331253013811829785body_content' style='background-color:#ffffff'> <table border='0' cellpadding='20' cellspacing='0' width='100%'> <tbody> <tr> <td valign='top' style='padding:48px'> <div id='m_-7598057918015146334m_-2331253013811829785body_content_inner' style='color:#636363;font-family:&quot;Helvetica Neue&quot;,Helvetica,Roboto,Arial,sans-serif;font-size:14px;line-height:150%;text-align:left'> <p style='margin:0 0 16px'></p> $dados </div> </td> </tr> </tbody> </table> </td> </tr> </tbody> </table> </td> </tr> </tbody> </table> </td> </tr> </tbody> </table> </div>"; $mail->IsHTML(true); $mail->Send(); $mail->ClearAllRecipients(); $mail->ClearAttachments(); } Lembrando so ser enviado o que for sql
      Ex: Banco_de_dados_Backups_210412193634.sql
      SQL_Backup_210412180942.sql
       
      Conforme for gerando o backups
      no create tem type sql
       
       
      Não sei isso vai ajudar em algo mais a tabela  backups esta assim
       
      INSERT INTO `backups` (`id`, `name`, `type`, `created_at`, `status`) VALUES (1, 'SQL_Backup_210412180942', 'sql', '2021-04-12 21:09:42', 'concluido'), (2, 'ZIP_Backup_210412180942', 'zip', '2021-04-12 21:09:42', 'Iniciado'), (3, 'Banco_de_dados_Backups_210412193634', 'sql', '2021-04-12 22:36:34', 'concluido'), (4, 'Arquivos_ZIP_Backups_210412193634', 'zip', '2021-04-12 22:36:34', 'Iniciado');  
       
      Se puderem da esta ajuda fico grato
    • Por Aleksandr Kopelevich
      Fala pessoal! 
       
      Eu publiquei uma dica sobre como limpar seu servidor Linux de tempos em tempos. A ideia é simples, basta rodar:
       
      find '/var/log/apache2' -mtime +6 -type f -delete
       
       
      Se quiser dar uma olhada nos códigos, escrevi um artigo para este vídeo: https://www.akop.com.br/posts/como-apagar-arquivos-antigos-do-servidor-usando-o-cron
    • Por Shinchila_Matadora
      Pessoal, estou precisando executar um arquivo .php dentro de um servidor todos os dias da semana as 13, exceto sábado e domingo.
      Alguém sabe qual o comando que devo dar para que isso seja possível?
      E além disso, tem alguma forma de visualizar as funções CRON que eu inputar no servidor?
      Estou começando agr e preciso de ajuda.
      Obrigado!
    • Por douglaspaiani
      Olá pessoal,
       
      Eu e uns amigos desenvolvemos um game online de manager de futebol, estilo Top Eleven, mas estamos com problema em uma coisa. As partidas são simuladas da seguinte forma: site.com/sistema/simular-partida.php?id=999&acao=simular
       
      O get acao faz rodar o script que temos de simulação de jogo e salva as informações dos dois times nos respectivos bancos. Mas aí tem um porém, isso só acontece se um dos jogadores der o "Play", e se os dois jogadores não jogar, a partida não acontece.
       
      Como posso fazer para rodar centenas de partidas todos os dias as 15h com cron?
       
      Lembrando que cada partida tem um id diferente, sei fazer crons pra 1 partida somente. Tem como eu criar um arquivo (partida-cron.php), e mandar rodar todos os dias as 15h, e nesse arquivo ter algum comando que rode todas as partidas?
       
      Preciso urgente! Obrigado á todos desde já!
       
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.