Backup com Shell Script
Publicado por Marcelo Viana (última atualização em 27/12/2013)
[ Hits: 17.447 ]
Homepage: infSite.org
Oi pessoal,
A seguir um simples e útil script para backup, com exclusão de arquivos antigos, backup completo do banco MySQL e determinadas pastas do servidor.
O que faz:
- Copia os arquivos a serem backupeados para um diretório temporário ($base_tmp). Estes arquivos são mantidos por 5 dias.
- Logo após, no final do script, a base principal ($base_principal) é atualizada com os arquivos do diretório temporário. Os arquivos da base principal são mantidos por 10 dias.
- O backup das configurações do servidor são mantidos na base principal ($base_principal) por 360 dias, por serem arquivos pequenos.
# Paz.
# É o Senhor que mostra os caminhos.
#
#!bin/bash # # nomeclaturas para arquivos backupeados mysql="mysql-`date +%d-%m-%Y`.databases.db" www="www-`date +%d-%m-%Y`.tar.gz" confs="confs-`date +%d-%m-%Y`.tar.gz" # # diretórios para quardar os backups base_tmp="/backup/backups" base_principal="/sdc5/Web-Sites/backup/backups" # # quantidade de dias para manter os arquivos já backupeados dias1=5 dias2=10 dias3=360 # # diretórios a ser backupeados bkp1="/var/www/*" bkp2="/etc/squid/*" bkp3="/etc/proftpd/*" bkp4="/etc/network/*" bkp5="/etc/dhcp/*" bkp6="/etc/bind/*" bkp7="/etc/rotinas/*" # # usuário e senha do banco myslql user_mysql="root" pass_mysql="senha" # # echo "Excluindo arquivos da base temporária com mais de $dias1 dias..." find $base_tmp -ctime +$dias1 -type f -exec rm -rvf {} \; echo "Excluindo arquivos da base principal com mais de $dias2 dias..." find $base_principal/mysql/ -ctime +$dias2 -name "*.db" -exec rm -rvf {} \; find $base_principal/sites/ -ctime +$dias2 -name "*.tar.gz" -exec rm -rvf {} \; echo "Excluindo arquivos de configurações com mais de $dias3 dias..." find $base_principal/confs/ -ctime +$dias3 -name "*.tar.gz" -exec rm -rvf {} \; # echo "Executando backup do banco mysql..." mysqldump -u$user_mysql -p$pass_mysql --all-databases > $base_tmp/mysql/$mysql echo "Arquivo $mysql criado!" # echo "Executando backup dos sites..." tar -zcPf $base_tmp/sites/$www $bkp1 echo "Arquivo $www criado!" # echo "Executando backup das configurações do sistema..." tar -zcPf $base_tmp/confs/squid_$confs $bkp2 tar -zcPf $base_tmp/confs/proftpd_$confs $bkp3 tar -zcPf $base_tmp/confs/network_$confs $bkp4 tar -zcPf $base_tmp/confs/dhcp_$confs $bkp5 tar -zcPf $base_tmp/confs/bind_$confs $bkp6 tar -zcPf $base_tmp/confs/rotinas_$confs $bkp7 # echo "Atualizando base principal de backup '$base_principal'..." cp -rvf $base_tmp/* $base_principal echo "ok!" # É o Senhor que mostra os caminhos. Agradeço por me ajudar através de tantos exemplos. # E que bom existe o vivaolinux! # infsite.org
Script de Back Up, com limpeza de back ups antigos e e-mail com logs
Lisa - sistema de backup com rsync
Backup Ubiquiti com usuários e senhas SSH diferentes
Backups automáticos de rádios Intelbras APC5
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Atualizar Debian Online de uma Versão para outra
Dica para encontrar diversos jogos Indies criativos
Instalando Discord no Debian 13
Instalar driver Nvidia no Debian 13
Redimensionando, espelhando, convertendo e rotacionando imagens com script
Dificuldade com Ocs 2.12.3 no Debian 13 com Apache2 - Can't load ... (4)
paginação dos favoritos não funciona no vivaolinux[BU... (4)