Pequeno sistema de backup (Rsync + SAMBA + Tar + FTP)
Publicado por Sylvio Jollenbeck 13/09/2006
[ Hits: 10.552 ]
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
Ligar máquinas virtuais Xen seguindo ordem de criação
Instalador .tar.bz2 com menu gráfico Zenity
Como escolher o melhor escalonador de CPU para melhorar o desempenho da máquina
Curiosidade sobre DOOM Guy e Isabelle de Animal Crossing
Inicializando servidor Ubuntu na AWS e rodando apache em Container
Instalando TeamViewer no Debian 12
Conheça o Octopi, outro frontend para o Pacman com acesso ao ARU (Arch Linux e derivados)
Terminal transparente no Debian 12 com interface i3wm usando Xfce4-Terminal e Compton
Ubuntu simplesmente morreu (8)
Como colocar uma assinatura digital em um código compilado ! (2)
Como traduzir todo o nitrogen para BR? (1)
Eu estou com problemas para usar o QBASIC no Dosbox X (1)
Como eu posso logar noutra distro sem subir o sistema? [RESOLVIDO] (5)