Backup com Shell Script
Publicado por Marcelo Viana (última atualização em 27/12/2013)
[ Hits: 17.413 ]
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
Backup da pasta de usuário em sistemas GNU/Linux sem copiar os arquivos ocultos
Backup Máquina do Tempo com Rsync
Shell Script para gravar iso de xbox 360 para LT 3.0 burnisolt3
BTRFS - Gerenciamento de snapshot por quantidade
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Olha que maravilha, Arch no C2D 7400, 2GB de RAM, vídeo onboard e no G... (1)
Mikrotik não abre o webmail-segur... da Locaweb (0)
Jogos baixados na Central de Aplicativos mas que não abrem (1)
debian com wayland, configuracao de teclado. Mudou Tudo! [RESOLVIDO] (1)