Pular para o conteúdo

Script de cópia (destino - origem) otimizado

Pessoal, este script foi feito para economizar economizar a digitação do usuário e facilitar a busca de pastas.
Caso você queira copiar uma pasta para um determinado local, porém você não lembra exatamente o caminho, ou você precisa copiar determinado diretório e o caminho são trocentas pastas acima ou abaixo do seu diretório corrente.

O script funciona basicamente assim:
1) Digite a pasta que você quer copiar (caminho completo)
2) Digite apenas o nome da pasta destino (SOMENTE O NOME E NÃO O CAMINHO COMPLETO)
3) Caso a pasta que você digitou exista em mais de um local do Sistema, ele vai te listar todas, por exemplo, você digitou a pasta destino "bkp_old", ele listará todos os caminhos em que a pasta foi encontrada:

1 /opt/apache-tomcat/6.0.21/bkp_old
2 /etc/rc.d/bkp_old
3 /etc/appnet/conf/bkp_old
4 /var/log/rdm/bkp_old

Em seguida você digitará o numero do caminho desejado.

Após a cópia será exibida uma mensagem na tela de sucesso ou erro.

Outra opção do script é que o usuário é obrigado a digitar ambas as pastas (destino e origem), se os campos estiverem vazios, o script alertará o usuário.

Boas cópias!
Alexandre Gonçalves Monteiro da Silva alexandregms
Hits: 7.429 Categoria: Shell Script Subcategoria: Miscelânea
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

Pessoal, este script foi feito para economizar economizar a digitação do usuário e facilitar a busca de pastas.
Caso você queira copiar uma pasta para um determinado local, porém você não lembra exatamente o caminho, ou você precisa copiar determinado diretório e o caminho são trocentas pastas acima ou abaixo do seu diretório corrente.

O script funciona basicamente assim:
1) Digite a pasta que você quer copiar (caminho completo)
2) Digite apenas o nome da pasta destino (SOMENTE O NOME E NÃO O CAMINHO COMPLETO)
3) Caso a pasta que você digitou exista em mais de um local do Sistema, ele vai te listar todas, por exemplo, você digitou a pasta destino "bkp_old", ele listará todos os caminhos em que a pasta foi encontrada:

1 /opt/apache-tomcat/6.0.21/bkp_old
2 /etc/rc.d/bkp_old
3 /etc/appnet/conf/bkp_old
4 /var/log/rdm/bkp_old

Em seguida você digitará o numero do caminho desejado.

Após a cópia será exibida uma mensagem na tela de sucesso ou erro.

Outra opção do script é que o usuário é obrigado a digitar ambas as pastas (destino e origem), se os campos estiverem vazios, o script alertará o usuário.

Boas cópias!
Download copia_pastas.sh Enviar nova versão

Esconder código-fonte

#!/bin/bash

k=1
SAIDA1="pastas1.txt"
SAIDA2="pastas2.txt"

rm -f $SAIDA1 $SAIDA2 &> /dev/null

echo -e "\nQUAL PASTA VOCE DESEJA COPIAR?"
read pasta

echo -e "\nPARA ONDE VOCE DESEJA COPIAR A PASTA $pasta?"
echo -e "DIGITE SOMENTE O NOME DA PASTA (SEM O CAMINHO COMPLETO)\n"
read destino

if [ -z $pasta ] || [ -z $destino ]; then

        echo -e "\nOS 2 CAMPOS ACIMA DEVEM SER PREENCHIDOS\n"
        exit 1

fi

if [ ! -d $pasta ]; then

   echo -e "\n $pasta NAO EXISTE, FAVOR VERIFICAR O CAMINHO CORRETO!\n"
   exit 1

fi

find / -type d -iname *$destino* 2> /dev/null > $SAIDA1

if [ `cat $SAIDA1 | wc -l` -gt "1" ]; then

   echo -e "\nFOI LOCALIZADA MAIS DE 1 PASTA DE DESTINO, DIGITE O NUMERO DELA:\n"

   cat $SAIDA1 | while read line
   do

      echo "$k $line" >> $SAIDA2
      let k++

   done

   cat $SAIDA2
   read num

   if [ -z $num ]; then

      echo -e "\nVOCE DEVE ESCOLHAR UM NUMERO, EXECUTE NOVAMENTE!\n"
      exit 1

   fi

   pasta_correta=`grep ^$num $SAIDA2 | cut -d' ' -f2`
   cp -rvp "$pasta" "$pasta_correta" &> /dev/null
   if [ $? -eq 0 ]; then

      echo -e "\nPASTA $pasta COPIADA COM SUCESSO PARA $pasta_correta \n"

   else

      echo -e "\nERRO AO COPIAR A PASTA $pasta PARA $pasta_correta ---> VERIFICAR PERMISSOES!\n"

   fi

else

   cp -rvp `cat $SAIDA1` "$destino" &> /dev/null
   if [ $? -eq 0 ]; then

      echo -e "\nPASTA $pasta COPIADA COM SUCESSO PARA $destino \n"

   else

      echo -e "\nERRO AO COPIAR A PASTA $pasta PARA $destino ---> VERIFICAR PERMISSOES!\n"

   fi

fi

Converter slides swf baixados do slideshare para pdf

Wrapper do dd com algumas medidas de segurança

Colocar palavras em maiúsculas

Cadastro de usuários no Samba

Coleta de Performance com SAR (systat package)

#1 Comentário enviado por lbleite76 em 12/09/2013 - 11:56h
Show , parabens pelo script !

Contribuir com comentário

Entre na sua conta para comentar.