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

De Wiki Integrator do Brasil
Ir para: navegação, pesquisa
 
Linha 13: Linha 13:
 
  pg_dump -i BANCO_DE_DADOS>arquivo.sql -U USUARIO --no-owner
 
  pg_dump -i BANCO_DE_DADOS>arquivo.sql -U USUARIO --no-owner
 
  <nowiki />#'''Compactar em .zip com data/hora:''' <nowiki />  
 
  <nowiki />#'''Compactar em .zip com data/hora:''' <nowiki />  
  zip -P BANCO-"`date '+%d%m%Y%H%M'`".sql.zip arquivo.sql
+
  zip BANCO-"`date '+%d%m%Y%H%M'`".sql.zip arquivo.sql
 
  <nowiki />#'''Remover o arquivo .sql após compactação''' <nowiki />  
 
  <nowiki />#'''Remover o arquivo .sql após compactação''' <nowiki />  
 
  rm -f arquivo.sql
 
  rm -f arquivo.sql
Linha 28: Linha 28:
 
  mysqldump -uUSUARIO_BANCO -pSENHA BANCO_DADOS>BANCO_DADOS.sql
 
  mysqldump -uUSUARIO_BANCO -pSENHA BANCO_DADOS>BANCO_DADOS.sql
 
  <nowiki />#'''Compactar em .zip com data/hora:''' <nowiki />  
 
  <nowiki />#'''Compactar em .zip com data/hora:''' <nowiki />  
  zip -P BANCO-"`date '+%d%m%Y%H%M'`".sql.zip arquivo.sql
+
  zip BANCO-"`date '+%d%m%Y%H%M'`".sql.zip arquivo.sql
 
  <nowiki />#'''Remover o arquivo .sql após compactação''' <nowiki />  
 
  <nowiki />#'''Remover o arquivo .sql após compactação''' <nowiki />  
 
  rm -f arquivo.sql
 
  rm -f arquivo.sql

Edição atual tal como às 19h18min de 9 de setembro de 2021

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 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 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.