Mudanças entre as edições de "Criando backup automatico de banco de dados"
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 | + | 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 | + | 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.