Backup automatico em dois computadores via local e NFS
Publicado por David 01/02/2008
[ Hits: 8.837 ]
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
Apagar arquivos recursivamente de um diretório pela extensão
RWwmaMp3 - converter wma para mp3
SysInfo 2.1 (Informações do Sistema)
Nenhum comentário foi encontrado.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (15)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)
Pendrive não formata de jeito nenhum (4)