Ir para conteúdo
Fórum Script Brasil
  • 0

Dúvida com script de compactação


zedomingues

Pergunta

boa tarde,

a atlética da minha faculdade possui um site e procuro, sempre que posso, fazer um backup dos arquivos e do banco de dados.

para fazer o backup dos arquivos eu uso o seguinte script:

<?php
$directory = 'diretório x que uso'; 
$zipfile = 'backup.zip'; 

$filenames = array();
function browse($dir) {
global $filenames;
    if ($handle = opendir($dir)) {
        while (false !== ($file = readdir($handle))) {
            if ($file != "." && $file != ".." && is_file($dir.'/'.$file)) {
                $filenames[] = $dir.'/'.$file;
            }
            else if ($file != "." && $file != ".." && is_dir($dir.'/'.$file)) {
                browse($dir.'/'.$file);
            }
        }
        closedir($handle);
    }
    return $filenames;
}
browse($directory);
// cria zip, adiciona arquivos...
$zip = new ZipArchive();
if ($zip->open($zipfile, ZIPARCHIVE::CREATE)!==TRUE) {
    exit("Não pode abrir: <$zipfile>\n");
}

foreach ($filenames as $filename) {
    echo "Arquivo adicionado: <b>" . $filename . "<br/></b>";
    $zip->addFile($filename,$filename);
}

echo "Total de arquivos: <b>" . $zip->numFiles . "</b>\n";
//echo "Status:" . $zip->status . "\n";
$zip->close();

?>

é um código que eu achei na internet, funciona perfeitamente e tem quebrado meu galho. contudo, todas as vezes que eu tenho que fazer o backup eu tenho que dar permissão de escrita para a pasta onde está o site (algo que não posso deixar sempre por causa da segurança).

quero que o script rode uma vez por semana (isso eu já tenho feito), gostaria de saber se há como mudar nesse script acima - ou nesse outro que localizei no forum - para que o arquivo zip gerado seja salvo em outro diretório (fora do site), se possível em um diretório não acessível na web - somente no servidor por caminho físico.

há essa possibilidade?

obrigado

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Acredito que seja possível sim, embora não saiba como.

Mas porque você não adiciona dois comandos de chmod para alterar as permissões?

Um no começo, setando para 0777, e um no fim, setando para a permissão anterior...

Me parece a melhor saída.

Link para o comentário
Compartilhar em outros sites

  • 0

Acredito que se você fizer uma conexão ftp pelo site em que você quer salvar o arquivo, rola numa boa.

Tipo:

$backup: site em que vão ficar os arquivos backupeados

$site: site que terá seus arquivos salvos em backup

$backup->conectaFTP(site); // conecta via ftp com o $site

$backup->copiaArquivos(); // copia os arquivos do $site para o servidor de $backup

$backup->compactaArquivos(); // compacta os arquivos que foram copiados do $site

Link para o comentário
Compartilhar em outros sites

  • 0
Acredito que seja possível sim, embora não saiba como.

Mas porque você não adiciona dois comandos de chmod para alterar as permissões?

Um no começo, setando para 0777, e um no fim, setando para a permissão anterior...

Me parece a melhor saída.

mJi não consigo fazer tal procedimento na minha hospedagem. ela é windows e o sistema não libera a função chmod no php.

Acredito que se você fizer uma conexão ftp pelo site em que você quer salvar o arquivo, rola numa boa.

Tipo:

$backup: site em que vão ficar os arquivos backupeados

$site: site que terá seus arquivos salvos em backup

$backup->conectaFTP(site); // conecta via ftp com o $site

$backup->copiaArquivos(); // copia os arquivos do $site para o servidor de $backup

$backup->compactaArquivos(); // compacta os arquivos que foram copiados do $site

acredito que o jeito que você passou será o mais fácil, contudo confesso minha ignorância em php. não entendo a mínima em php, alguém poderia, por gentileza, me dar essa luz?

obrigado

Editado por zedomingues
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...