Automatizando backups no Samba

Publicado por Cleber Rocha (última atualização em 12/04/2010)

[ Hits: 7.217 ]

Homepage: http://ideiasetecnologias.blogspot.com.br/

Download 4542.backup.sh




Este script ajuda na tarefa de executar os backups dos arquivos em um servidor Samba. Nele há previsão para quatro tipos de backup: pastas dos usuários, pastas administrativas, scripts de logon e backup total.

Adapte às suas necessidades e use como quiser!

  



Esconder código-fonte

#!/bin/bash
#
OK=
ALL=
until [ "$OK" ]
do
   echo -n "
         Opcao   Acao
         =====   ====
         1   Backup das Pastas dos Usuários
         2   Backup das Pastas Administrativas
         3   Backup dos Perfis e Scripts de Logon
         4   Backup Total
         

         Escolha Uma Das Opcoes Acima (1-4): "
read Opcao
echo -e "\n"
OK=1
   case "$Opcao"
   in
      1) echo -n "   Você escolheu copiar as Pastas dos Usuários "
      echo -e "\n"
      if ls /tmp/homes 
         then
            echo -n "O arquivo homes existe"
            echo -e "\n"
         else
            echo -n "Criando o arquivo homes"
            mkdir /tmp/homes
            echo -e "\n"
      fi
      cd /tmp/homes
      cp -Rv /home/* ./
      clear
         if ls /tmp/homes/samba >> /dev/null
            then   
               echo "Copiando Arquivos dos Usuários"
               rm -rf /tmp/homes/samba 
               tar -zcf homes.tar.gz * 
               mv ./homes.tar.gz /home/myuser/Desktop 
               cd ..
               rm -rf /tmp/homes 
            else
               echo "Copiando Arquivos dos Usuários"
               cd /tmp/homes 
               tar -zcf homes.tar.gz * 
               mv ./homes.tar.gz /home/cleber/Desktop 
               cd ..
               rm -rf /tmp/homes 
         fi
         ;;
      2) echo -n "   Você escolheu copiar as Pastas dos Administradores "
      if ls /tmp/admins >> /dev/null 
         then
            echo -n "O arquivo admins existe"
            echo -e "\n"
         else
            echo -n "Criando o arquivo homes"
            mkdir /tmp/admins
            echo -e "\n"
      fi
      cd /tmp/admins
      cp -Rv /home/samba/* ./
      rm -rf /tmp/scripts/netlogon 
      rm -rf /tmp/scripts/profiles 
      clear
         if ls /tmp/admins >> /dev/null
            then   
               echo "Copiando Arquivos dos Usuários"
               tar -zcf admins.tar.gz * 
               mv ./admins.tar.gz /home/myuser/Desktop &
               cd ..
               rm -rf /tmp/admins 
            else
               echo "Copiando Arquivos dos Usuários"
               cd /tmp/admins 
               tar -zcf admins.tar.gz * 
               mv ./admins.tar.gz /home/myuser/Desktop &
               cd ..
               rm -rf /tmp/admins 
         fi
         ;;
      3) echo -n "   Você escolheu copiar os Perfis e Scripts"   
         if ls /tmp/scripts >> /dev/null
            then
               echo -n "O arquivo scripts existe"
               echo -e "\n"
            else
               echo -n "Criando o scripts homes"
               mkdir /tmp/scripts
               echo -e "\n"
         fi
         cd /tmp/scripts
         cp -Rv /home/samba/netlogon ./*
         cp -Rv /home/samba/profiles ./*
         clear
            if ls /tmp/scripts >> /dev/null
               then   
                  tar -zcf profiles.tar.gz * 
                  mv ./profiles.tar.gz /home/myuser/Desktop 
                  cd ..
                  rm -rf /tmp/scripts 
            else
                  tar -zcf profiles.tar.gz * 
                  mv ./profiles.tar.gz /home/myuser/Desktop
                  cd ..
                  rm -rf /tmp/scripts 
            fi
         ;;
      4) echo -n "   Você escolheu Copiar tudo "
      if test $Opcao = 4
      then
         if ls /tmp/homes >> /dev/null
            then
               echo -n "O arquivo homes existe"
               echo -e "\n"
            else
               echo -n "Criando o arquivo homes"
               mkdir /tmp/homes
               echo -e "\n"
         fi
         if ls /tmp/admins >> /dev/null
            then
               echo -n "O arquivo admins existe"
               echo -e "\n"
            else
               echo -n "Criando o arquivo admins"
               mkdir /tmp/admins
               echo -e "\n"
         fi
         if ls /tmp/scripts >> /dev/null
            then
               echo -n "O arquivo scripts existe"
               echo -e "\n"
            else
               echo -n "Criando o arquivo scripts"
               mkdir /tmp/scripts
               echo -e "\n"
         fi
         cd /tmp/homes
            cp -Rv /home/* ./
            rm -rf /tmp/homes/samba 
            clear
            tar -zcf homes.tar.gz * 
            mv ./homes.tar.gz /home/myuser/Desktop 
            cd ..
            rm -rf /tmp/homes 
         cd /tmp/admins
            cp -Rv /home/samba/* ./
            rm -rf /tmp/admins/netlogon 
            rm -rf /tmp/admins/profiles
            clear
            tar -zcf admins.tar.gz * 
            mv ./admins.tar.gz /home/myuser/Desktop 
            cd ..
            rm -rf /tmp/admins 
         cd /tmp/scripts
            cp -Rv /home/samba/netlogon ./
            cp -Rv /home/samba/profiles ./
            clear
            tar -zcf profiles.tar.gz * 
            mv ./profiles.tar.gz /home/myuser/Desktop 
            cd ..
            rm -rf /tmp/scripts 
      fi
      ;;
      *) echo "Só são válidos opções entre 1 e 4"
         OK=
         ;;
esac
done
exit

Scripts recomendados

Converter arquivos CBR para PDF

Instalar o screenFetch em qualquer distribuição

Mapeamento USB simples

Automatizar backup do PostgreSQL

Script para o Qemu usando Dialog


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts