Pular para o conteúdo

Automação em cópia de arquivos de backup

Esse é meu primeiro script enviado. Estou expondo idéias de utlização de arquivos gerado pelo linux para facilitar aquelas tarefas que temos que fazer diariamente.

Algumas partes do mesmo ainda estão em fase de teste, por isso o comentário..
Bruno brunogds
Hits: 7.303 Categoria: Shell Script Subcategoria: Introdução
  • Download
  • Nova versão
  • Indicar
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Descrição

Esse é meu primeiro script enviado. Estou expondo idéias de utlização de arquivos gerado pelo linux para facilitar aquelas tarefas que temos que fazer diariamente.

Algumas partes do mesmo ainda estão em fase de teste, por isso o comentário..
Download hmd.sh Enviar nova versão
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Esconder código-fonte

#!/bin/bash

#  Identifica o hd que esta conectado a sua ide pelo modelo, utilizamos o hdc
# mas você poderia usar qualquer um dos outros, neste caso  utilizamos o hdc 
#pois este disco rigido sempre é utilizado na mesma ide mas nada impede que 
#o script seja modificado para checar todas as ide's.

date

if [ -e /proc/ide/hdc ]; then
model=`cut -c 8-18 /proc/ide/hdc/model`
echo $model
   if [ $model = STM3160215A ]; then
      echo -e "HD correto - Montando as Partições."
      
      dia=`date +"%u" `
      
      #montando a particao referente ao dia

      if [ $dia = 1 ]; then
         mount /dev/hdc8 /mnt/hd/pt
         dsem=sexta
      elif [ $dia = 2 ]; then 
         mount /dev/hdc1 /mnt/hd/pt
         dsem=segunda
      elif [ $dia = 3  ]; then
         mount /dev/hdc5 /mnt/hd/pt 
         dsem=terca
      elif [ $dia = 4 ]; then
         mount /dev/hdc6 /mnt/hd/pt
         dsem=quarta
      elif [ $dia = 5 ]; then
         mount /dev/hdc7 /mnt/hd/pt
         dsem=quinta
      else 
         echo "Fim de semana"
      fi
      echo "-->Montado a partição referente a $dsem feira."

      #montando particao que contem os backups dos bancos.
      mount /dev/hdc9 /mnt/hd/ptbanco
      echo -e "-->Montado a partição referente aos backups dos bancos.\n"

#   Nesse momento do script passamos para um novo teste, agora iremos testar em qual 
#dia da semana estamos para que os arquivos sejam copiados para seu respectivo local
#tomando como referência o dia da semana.


   
      echo -e "Apagando a pasta contendo os arquivos da semana anterior."
      rm -vr /mnt/hd/pt/*

       data=`head -n 1 /mnt/backup/log.txt`
      echo -e "\nCriando o Diretótio /mnt/hd/pt/$data \n"
      mkdir /mnt/hd/pt/$data

#Nesse momento estamos apagando o banco mais antigo para ser substituido pelo novo 
#, por isso ultilizamos os parametros -t -r para que sempre o primeiro arquivo seja 
#o mais antigo.

      banco=`ls -tr /mnt/hd/ptbanco`

      
      if [ -e "/mnt/publico/Backups/p$data.zip" ]; then
         for iten in ${banco[*]}; do
            echo -e "Removendo ultimo arquivo de backup do banco ($iten)."
            rm -v /mnt/hd/ptbanco/$iten
            break
          done
         #Copiando o arquivo do banco.
         echo -e "\nArquivo encontrado,iniciando cópia de /mnt/publico/Backups/p$data.zip."
         cp -v /mnt/publico/Backups/p$data.zip /mnt/hd/ptbanco


      else
         echo "Arquivo p$data.zip não encontrado, Por favor verifique se o arquivo de backup já foi compactado."
      fi   
   
   
      echo -e "\nIniciando a Copia dos Arquivos"
      cp -v /mnt/backup/$dsem/* /mnt/hd/pt/$data/

#Verificando se os arquivos foram copiados e excluindo os que não serão mais utilizados.
      ls /mnt/backup/$dsem/ > /tmp/ls1
      ls /mnt/hd/pt/$data/ > /tmp/ls2
      diff /tmp/ls1 /tmp/ls2
      if [ $? -eq 0 ]; then 
         echo "Os arquivos podem ser removidos"
         #rm -v /mnt/backup/$dsem
      else 
         echo "Nem todos os arquivos foram copiados corretamente"
      fi
   
   else
      echo "HD incorreto"
   fi
fi
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

relógio

Instalação de programas no Ubuntu Linux

Instalação do Apache + PHP + MySQL

NFS Mounter

Script para backup de usuários

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.