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...')
 
 
(Uma edição intermediária de um usuário não apresentada)
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
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 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.