Mudanças entre as edições de "Criando backup automatico de banco de dados"

De Wiki Integrator do Brasil
Ir para: navegação, pesquisa
(Criou página com '== Preparando o ambiente == As instruções informadas neste artigo são um exemplo de como criar uma rotina de backup automatico para bancos de dados no cPanel. Primeirament...')
 
Linha 40: Linha 40:
 
  ~/backup.sh
 
  ~/backup.sh
  
'''<big>Você agenda para executar uma vez ao dia, durante X hora da madrugada e terá retenção de backup do banco de dados por 2 dias. Se precisar demais, troque o 48 por outro tempo em dias que necessita</big>.'''
+
'''<big>Você agenda para executar uma vez ao dia, durante X hora da madrugada e terá retenção de backup do banco de dados por 2 dias. Se precisar por algum outro periodo/tempo, troque o 48 por outro tempo em dias que necessita</big>.'''

Edição das 16h52min de 6 de junho de 2018

Preparando o ambiente

As instruções informadas neste artigo são um exemplo de como criar uma rotina de backup automatico para bancos de dados no cPanel.

Primeiramente crie um diretorio/pasta onde será armazenado o backup. Para isso poderá usar o próprio Gerenciador de arquivos do painel

Para o Postgresql

Crie um arquivo chamado backup.sh e coloque este conteúdo:

#Local do backup, um diretório criado na raiz do seu usuário chamado "backup: 
cd ~/backup/
#Backup do banco de dados:  
pg_dump -i BANCO_DE_DADOS>arquivo.sql -U USUARIO --no-owner
#Compactar em .zip com data/hora:  
zip -P BANCO-"`date '+%d%m%Y%H%M'`".sql.zip arquivo.sql
#Remover o arquivo .sql após compactação  
rm -f arquivo.sql
#Remover arquivos de backup a cada 48 horas passadas.  
find ~/backup/BANCO-* -mmin +$((60*48)) -type f -exec rm {} \;

Para o Mysql

Crie um arquivo chamado backup.sh e coloque este conteúdo:

#Local do backup, um diretório criado na raiz do seu usuário chamado "backup: 
cd ~/backup/
#Backup do banco de dados:  
mysqldump -uUSUARIO_BANCO -pSENHA BANCO_DADOS>BANCO_DADOS.sql
#Compactar em .zip com data/hora:  
zip -P BANCO-"`date '+%d%m%Y%H%M'`".sql.zip arquivo.sql
#Remover o arquivo .sql após compactação  
rm -f arquivo.sql
#Remover arquivos de backup a cada 48 horas passadas.  
find ~/backup/BANCO-* -mmin +$((60*48)) -type f -exec rm {} \;

O arquivo backup.sh deve ficar na raiz do seu usuário, aquele que você vê ao acessar o SSH/FTP.

No momento de agendar, dentro do cPanel em Cron o caminho dele pode ser usado assim:

~/backup.sh

Você agenda para executar uma vez ao dia, durante X hora da madrugada e terá retenção de backup do banco de dados por 2 dias. Se precisar por algum outro periodo/tempo, troque o 48 por outro tempo em dias que necessita.