Backup automatico em dois computadores via local e NFS
Publicado por David 01/02/2008
[ Hits: 8.925 ]
Homepage: http://twitter.com/dias_david
Esse script realiza backups diários pelo CRON. Compacta pastas e envia localmente; depois por NFS a outra máquina.
Gera logs diários de cada ação, além de não fazer mais do que um backup diários, mantendo o controle e evitando sobrescrição de arquivos.
Como gostei muito mesmo, resolvi compartilhar com todo.
#!/bin/sh #Script para backup dos arquivos automatizados. # Define variaveis. # Pastas a serem dadas backups. Arquivos enderecos completos. pastas="/Curso" # Local do Servidor NFS que devera ser enviado o arquivo de backup. servidor="192.168.20.174" # Pasta de Backup do Servidor NFS. Caminho completo. folder="/bkp" # Caminho completo da pasta onde o servidor devera ser montado. localnfs="/root/bkps" # Caminho completo para onde os arquivos locais devem ser backupeados. folder_local="/home/bkp" # Extensao da data dos arquivos de backup. ext_data="`date +%d-%m-%Y`" # Checka pela execucao do root. if [ `id -u` != 0 ]; then echo "Voce nao e o root" exit 0; fi # Checka se o backup ja foi realizado. if [ -e /home/bkp/log-$ext_data ]; then echo "Um backup ja foi realizado hoje" exit 0; fi # Checka se a pasta existe. if [ ! -d $folder_local ]; then echo "Pasta de backup nao existe, criando uma." mkdir $folder_local; fi #Cria o tar; ls /Curso/* 1> /dev/null 2> /dev/null if [ $? != 0 ]; then echo "Nao haviam arquivos para backup em $ext_data" > $folder_local/log-$ext_dat a ; else tar -cvzf /home/bkp/bkp_$ext_data.tar.gz $pastas/* 1> $folder_local/log-$ext_dat a 2> $folder_local/log-$ext_data; fi #Envia para o servidor. if [ -z $servidor ]; then echo "Nao ha um servidor definido para o backup.. abortando agora" exit 0; fi if [ ! -d $localnfs ]; then echo "$localnfs nao existe, criando... " mkdir $localnfs echo "ok"; fi mount -t nfs $servidor:$folder $localnfs 2> /dev/null if [ $? != 0 ]; then echo "O servidor NFS nao pode ser contatado, notificar administrador" >> $folder _local/log-$ext_data echo "O servidor NFS nao pode ser contatado, notificar administrador"; else if [ -e $localnfs/bkp_status-$ext_data ];then echo "Uma copia do backup ja foi enviada ao servidor hoje" echo "Ok, mas nao houve novas copias no servidor." umount $localnfs exit 0; fi echo "Executando backup no servidor" cp -av $folder_local/bkp_$ext_data.tar.gz $localnfs 1> $localnfs/bkp_status-$ext _data 2> $localnfs/bkp_status-$ext_data echo "Copia finalizada"; umount $localnfs fi # Confirmacao visual echo "Tudo ok" exit 0
Teste compatativo entre discos e/ou partições
Script simples para ripar CDs de áudio em mp3 com uso do CDDB para nomear as faixas.
Configuração do Modem Sony Ericsson MD300 da Claro 3G no Linux
Gerando QR code com script e Google Chart Tools
Nenhum comentário foi encontrado.
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
Solução rápida para o problema do Network Manager conectar mas não navegar
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
Interface Gráfica no Linux Mint 22.1. (3)
Menu configurações e mudar plano de fundo não funcionam (5)