Backup automatico em dois computadores via local e NFS
Publicado por David 01/02/2008
[ Hits: 8.688 ]
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
Monitorando acessos on-line em log do squid com autenticação.
Busca e move arquivos renomeando-os conforme a máscara
Cryporange - criptografador de mensagens
Dependências de Emuladores e DosBox
Nenhum comentário foi encontrado.
Agora temos uma assistente virtual no fórum!!! (247)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Como Atualizar Fedora 39 para 40
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
Agora temos uma assistente virtual no fórum!!! (247)
iso de sistema 32 bit em atividade (12)
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (27)