Jump to content

Tutorial completo de Como criar backups dos ultimos 7 em uma revenda


Antonio Carlos S Jr

Recommended Posts

E ai galera procurei muito na internet e no fórum e depois de muito revirar encontrei a solução completa de como criar full backups com retenção de 7 dias e deletar os mais antigos.

 

Mas vou fazer um simples passo a passo aqui para ajudar muitas pessoas que devem ter já quebrado a cabeça como eu.

 

Sei que se tiver um vps ou dedicado podemos utilizar as ferramentas do próprio whm mas em uma revenda ou até em um site hospedado isso é impossível.

 

Então vamos ao que interessa.

 

Utilizei o Script gerado pelo site. http://www.ericzhang.me/projects/cpanel-auto-backup/ com algumas modificações porém já postei ele ali embaixo explicadinho.

 

Crie um arquivo.php eu daria nome de autobackup.php ou coisa parecida, PORÉM ATENÇÃO nunca coloque esse arquivo nas pastas www ou public_html para não ficar vulnerável.

<?php
/*
cPanel Backup Script
Generated by http://www.ericzhang.me/projects/cpanel-auto-backup/
*/

$auth = base64_encode("user:senha"); // usuário e senha do cpanel da conta local
$domain = "www.seusite.com.br";
$theme = "x3";
$secure = false;
$ftp = true;
$ftpserver = "999.99.999.999"; // Ip do seu Remote Backup
$ftpusername = "user";
$ftppassword = "pass";
$ftpport = "21";
$ftpdirectory = "/public_html/";

if ($secure) {
	$url = "ssl://" . $domain;
	$port = 2083;
} else {
	$url = $domain;
	$port = 2082;
}
$socket = fsockopen($url, $port);
if (!$socket) {
	exit("Failed to open socket connection.");
}
if ($ftp) {
	$params = "dest=ftp&server=$ftpserver&user=$ftpusername&pass=$ftppassword&port=$ftpport&rdir=$ftpdirectory&submit=Generate Backup";
} else {
	$params = "submit=Generate Backup";
}
fputs($socket, "POST /frontend/" . $theme . "/backup/dofullbackup.html?" . $params . " HTTP/1.0\r\n");
fputs($socket, "Host: $domain\r\n");
fputs($socket, "Authorization: Basic $auth\r\n");
fputs($socket, "Connection: Close\r\n");
fputs($socket, "\r\n");

while (!feof($socket)) {
	$response = fgets($socket, 4096);
	echo $response;
}
fclose($socket);
?>

Crie uma tarefa cron para todos os dias, as 0h e 1m  colocando a linha seguinte.

php -q /home/usuario-da-hospedagem/pasta-onde-esta-o-script/auto-backup.php

Pronto se você fez tudo certo, seus backups serão gerados todos os dias as 0h e 1m porém sempre enche muito de uns arquivos temps e depois de uns dias vem aquela dor de cabeça, puxa eu queria somente que guardasse os ultimos 5 ou 7 dias.

 

Bora para o script que deleta todo esse lixo.tmp e arquivos antigos.

 

Basta acessar agora seu servidor de backups, na pasta onde estão sendo armazenados os backups e criar um arquivo com o nome que vc quiser.

tipo remove-backups-antigos.php com o conteudo abaixo.

<?php

//DELETA OS ARQUIVOS COMPACTADOS com mais de 7 dias
    $files = glob("*.tar.gz");
    foreach($files as $file) {
        if(is_file($file)
        && time() - filemtime($file) >= 7*24*60*60) { // Apagar com mais de 7 dias
            unlink($file);
        }
    }
    
//DELETA OS ARQUIVOS TMP com mais de 4 horas
    $files = glob("*.tmp");
    foreach($files as $file) {
        if(is_file($file)
        && time() - filemtime($file) >= 4*60*60) { // Apagar com mais de 4 horas
            unlink($file);
        }
    }
?>

OPAAA, quase me esqueci. Crie também uma tarefa cron para esse arquivo mas agora no seu servidor de backups apontando para o script dentro da pasta onde ele está armazenado.

 

Ae galera, qualquer dúvida por favor poste aqui no fórum pois se me perguntar por email as outras pessoas que podem estar tendo a mesma dificuldade que você não terão a resposta.

 

Abraços a todos.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Do you agree with our terms?