Automatizando backups no Samba

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

[ Hits: 7.335 ]

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

Autenticação automática no Velox

DioPSI - Script multidistro para instalar programas

Listas em shell

Automatizar a criação de domínios, sites e usuários de FTP

Script simples para cálculos com 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