Pequeno sistema de backup (Rsync + SAMBA + Tar + FTP)
Publicado por Sylvio Jollenbeck 13/09/2006
[ Hits: 10.742 ]
Homepage: www.hosannagroup.com.br
Explicação rápida sob sua forma de funcionamento: O script consiste em montar uma unidade compartilhada por um servidor/computador Windows utilizando o SAMBA, sincronizar os dados desta unidade montada com um diretório ou disco local (Unix/Linux) através do Rsync, compactação dos dados pela ferramenta Tar e, por fim, enviar esse arquivo compactado para um servidor FTP (precisa configurar o endereço IP, nome de acesso e senha - no final deste script). As funções de backup e formas de backup podem ser alteradas de acordo com as necessidades, esse script deve ser referenciado no agendador de tarefas (Crontab) para ser executado todos os dias em horários determinados pela empresa. Espero ter ajudado. Sylvio Carlos Jollenbeck <sylvio [-arroba-] sdrconsulting.com.br>
######## Script de Backup e Syncronismo ######## ########### SDR CONSULTING LTDA ################# ######## www.sdrconsulting.com.br ############### ########## FONE: (11) 4141 6258 ################# #!/bin/bash # 1 - Parte (Variaveis) # Configuracao das variaveis do script # ------------------------------------------------------------------------ equi=192.168.10.200 user="storage" pass="storage" # Ponto de Montagem vol="d" pto=/mnt dst=/backup/win2000 # Ponto de Backup bkp_loc=/backup/win2000 # Pasta a ser Backupeada bkp_dir=/storage/win2000 # Pasta onde sera gerado o Backup dados=`date "+bkp-"$vol"-%d-%m-%Y.tgz"` # Nome do Arquivo de Backup # Arquivos de Log's log_dir=/backup/log_win2000 # Pasta onde sera gerado o LOG log_okay_sync=`date "+rsync-"$vol"-okay-%d-%m-%Y.txt"` # Nome do Arquivo de LOG log_erro_sync=`date "+rsync-"$vol"-erro-%d-%m-%Y.txt"` # Nome do Arquivo de LOG log_okay_bkp=`date "+bak-okay-"$vol"-%d-%m-%Y.txt"` # Nome do Arquivo de LOG log_erro_bkp=`date "+bak-erro-"$vol"-%d-%m-%Y.txt"` # Nome do Arquivo de LOG # 2 - Parte (Montando o Volume a ser Backupeado) # ------------------------------------------------------------------------ echo "--------------------- Montando o Volume de Dados --------------------" echo "--------------------- Montando o Volume de Dados --------------------" >> $log_dir/$log_okay_sync echo "--------------------- Montando o Volume de Dados --------------------" >> $log_dir/$log_erro_sync echo "" >> $log_dir/$log_okay_sync echo "" >> $log_dir/$log_erro_sync echo "Montando o volume a ser sincronizado = " $vol >> $log_dir/$log_okay_sync echo "Montando o volume a ser sincronizado = " $vol >> $log_dir/$log_erro_sync echo "" >> $log_dir/$log_okay_sync echo "" >> $log_dir/$log_erro_sync date "+Volume de dados montados em %d-%m-%Y as %H:%M" >> $log_dir/$log_okay_sync date "+Volume de dados montados em %d-%m-%Y as %H:%M" >> $log_dir/$log_erro_sync echo "" >> $log_dir/$log_okay_sync echo "" >> $log_dir/$log_erro_sync mount -t smbfs -o username=$user,password=$pass //$equi/$vol $pto date "+Volume de dados montado com sucesso %d-%m-%Y as %H:%M" echo " ---------------------- Volume Montado ------------------------- " echo "Volume montado com sucesso = " $vol >> $log_dir/$log_okay_sync echo "Volume montado com sucesso = " $vol >> $log_dir/$log_erro_sync echo "-----------------------------------------------------------------" >> $log_dir/$log_okay_sync echo "-----------------------------------------------------------------" >> $log_dir/$log_erro_sync echo "" >> $log_dir/$log_okay_sync echo "" >> $log_dir/$log_erro_sync # 3 - Parte (Inciando o Sincronismo) # ------------------------------------------------------------------------ echo "---------------------- Iniciando o Sincronismo ----------------------" echo "---------------------- Iniciando o Sincronismo ----------------------" >> $log_dir/$log_okay_sync echo "---------------------- Iniciando o Sincronismo ----------------------" >> $log_dir/$log_erro_sync echo "" >> $log_dir/$log_okay_sync echo "" >> $log_dir/$log_erro_sync date "+Sistema de Sincronismo iniciado em %d-%m-%Y as %H:%M" >> $log_dir/$log_okay_sync date "+Sistema de Sincronismo iniciado em %d-%m-%Y as %H:%M" >> $log_dir/$log_erro_sync echo "" >> $log_dir/$log_okay_sync echo "" >> $log_dir/$log_erro_sync echo "Sistema de Syncronismo iniciado:" >> $log_dir/$log_okay_sync echo "Sistema de Syncronismo iniciado:" >> $log_dir/$log_erro_sync rsync -avr $pto $dst 1>> $log_dir/$log_okay_sync 2>> $log_dir/$log_erro_sync date "+Sistema de sincronismo terminado em %d-%m-%Y as %H:%M" echo " ---------------------- Fim do Sincronismo ------------------------- " echo "Sincronismo concluido com sucesso - Por Favor consultar os arquivos de Logs" >> $log_dir/$log_okay_sync echo "Sincronismo concluido com sucesso - Por Favor consultar os arquivos de Logs" >> $log_dir/$log_erro_sync echo "-----------------------------------------------------------------" >> $log_dir/$log_okay_sync echo "-----------------------------------------------------------------" >> $log_dir/$log_erro_sync echo "" >> $log_dir/$log_okay_sync echo "" >> $log_dir/$log_erro_sync # 4 - Parte (Desmontar o Volume Backupeado) # ------------------------------------------------------------------------ echo "------------------- Desmontando o Volume de Dados --------------------" echo "------------------- Desmontando o Volume de Dados --------------------" >> $log_dir/$log_okay_sync echo "------------------- Desmontando o Volume de Dados --------------------" >> $log_dir/$log_erro_sync echo "" >> $log_dir/$log_okay_sync echo "" >> $log_dir/$log_erro_sync echo "Desmontando o volume ja sincronizado = " $vol >> $log_dir/$log_okay_sync echo "Desmontando o volume ja sincronizado = " $vol >> $log_dir/$log_erro_sync echo "" >> $log_dir/$log_okay_sync echo "" >> $log_dir/$log_erro_sync umount $pto date "+Sistema de sincronismo terminado em %d-%m-%Y as %H:%M" echo " ---------------------- Volume Desmontado ------------------------- " date "+Volume de dados desmontados em %d-%m-%Y as %H:%M" >> $log_dir/$log_okay_sync date "+Volume de dados desmontados em %d-%m-%Y as %H:%M" >> $log_dir/$log_erro_sync echo "" >> $log_dir/$log_okay_sync echo "" >> $log_dir/$log_erro_sync # 5 - Parte # ------------------------------------------------------------------------ echo "---------------------- Iniciando o Backup ----------------------" echo "---------------------- Iniciando o Backup ----------------------" >> $log_dir/$log_okay_bkp echo "---------------------- Iniciando o Backup ----------------------" >> $log_dir/$log_erro_bkp echo "" >> $log_dir/$log_okay_bkp echo "" >> $log_dir/$log_erro_bkp date "+Sistema de Backup iniciado em %d-%m-%Y as %H:%M" >> $log_dir/$log_okay_bkp date "+Sistema de Backup iniciado em %d-%m-%Y as %H:%M" >> $log_dir/$log_erro_bkp echo "" >> $log_dir/$log_okay_bkp echo "" >> $log_dir/$log_erro_bkp date "+Backup iniciado em %d-%m-%Y as %H:%M" >> $log_dir/$log_okay_bkp date "+Backup iniciado em %d-%m-%Y as %H:%M" >> $log_dir/$log_erro_bkp echo "" >> $log_dir/$log_okay_bkp echo "" >> $log_dir/$log_erro_bkp echo "---------------------- Executando o Backup ----------------------" >> $log_dir/$log_okay_bkp echo "---------------------- Executando o Backup ----------------------" >> $log_dir/$log_erro_bkp echo "-----------------------------------------------------------------" >> $log_dir/$log_okay_bkp echo "-----------------------------------------------------------------" >> $log_dir/$log_erro_bkp echo "" >> $log_dir/$log_okay_bkp echo "" >> $log_dir/$log_erro_bkp tar cvzf $bkp_dir/$dados $bkp_loc 1>> $log_dir/$log_okay_bkp 2>> $log_dir/$log_erro_bkp echo "" >> $log_dir/$log_okay_bkp echo "" >> $log_dir/$log_erro_bkp date "+Dados compactados - backup finalizado %d-%m-%Y as %H:%M" echo " ---------------------- Backup Finalizado ------------------------- " echo "---------------------- Finalizando o Backup ---------------------" >> $log_dir/$log_okay_bkp echo "---------------------- Finalizando o Backup ---------------------" >> $log_dir/$log_erro_bkp echo "-----------------------------------------------------------------" >> $log_dir/$log_okay_bkp echo "-----------------------------------------------------------------" >> $log_dir/$log_erro_bkp echo "" >> $log_dir/$log_okay_bkp echo "" >> $log_dir/$log_erro_bkp date "+Fim da copia dos arquivos em %d-%m-%Y as %H:%M. Enviando o Backup para servidor de FTP externo" >> $log_dir/$log_okay_bkp date "+Fim da copia dos arquivos em %d-%m-%Y as %H:%M. Enviando o Backup para servidor de FTP externo" >> $log_dir/$log_erro_bkp echo "" >> $log_dir/$log_okay_bkp echo "" >> $log_dir/$log_erro_bkp # 6 - Parte (Enviando os dados para o Servidor FTP) # ------------------------------------------------------------------------ echo "--------------------- Enviando o Backup FTP ---------------------" >> $log_dir/$log_okay_bkp echo "--------------------- Enviando o Backup FTP ---------------------" >> $log_dir/$log_erro_bkp echo "-----------------------------------------------------------------" >> $log_dir/$log_okay_bkp echo "-----------------------------------------------------------------" >> $log_dir/$log_erro_bkp echo "" >> $log_dir/$log_okay_bkp echo "" >> $log_dir/$log_erro_bkp ftp -n 192.168.10.69 <<EOF user storage backup11 binary cd / lcd $bkp_dir put $dados quit EOF date "+Envio do Backup para o Servidor de FTP terminado em %d-%m-%Y as %H:%M" >> $log_dir/$log_okay_bkp date "+Envio do Backup para o Servidor de FTP terminado em %d-%m-%Y as %H:%M" >> $log_dir/$log_erro_bkp echo "Backup concluido com sucesso - Por Favor consultar os arquivos de Logs" >> $log_dir/$log_okay_bkp echo "Backup concluido com sucesso - Por Favor consultar os arquivos de Logs" >> $log_dir/$log_erro_bkp echo " ----------------------- Fim do Backup ------------------------- " echo "-----------------------------------------------------------------" >> $log_dir/$log_okay_bkp echo "-----------------------------------------------------------------" >> $log_dir/$log_erro_bkp exit 0
Unificando arquivos de bloqueio e liberação no squid
Script para correção de arquivos Makefile usando comando patch
Relatório analitico de VLANs no PHP-IPAM
Manutenção básica em partições Windows
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
driver do repositorio debian nao atende o requisito minimo [RESOLVIDO]... (9)