Cópia de arquivos
Publicado por Diego Barcelos (última atualização em 01/09/2015)
[ Hits: 12.259 ]
Download 1440718528.copyfile.sh (versão 2)
Olá, sou iniciante em Shell Script e estou gostando muito de estudar o mesmo.
Segue meu primeiro script. Se possível gostaria de sugestões de melhorias, entre outros.
Espero que gostem. =D
Função do script: Copiar arquivos de determinada extensão, mantendo a raiz de diretórios. Muito útil pra backups.
Versão 2 - Enviado por Jefferson Pires em 27/08/2015
Changelog: Comando:
rm -rf $dir_destino /tmp/qtdCopy.txt
Modificado para:
rm -rf /tmp/qtdCopy.txt
pois não deve-se remover o diretório destino.
O comando era executado quando não existia arquivos no diretório origem com a extensão informada pelo usuário.
Download 1440718528.copyfile.sh
#!/bin/bash
#
#
######################################################################
# FUNÇÃO SCRIPT.: REPLICA ESTRURA DE DETERMINADO DIRETÓRIO #
# ESPECIFICANDO EXTENSÃO #
#------------------------------------------------------------------- #
# DEPENDÊNCIAS.:.. #
# #
# #
# #
# DESENVOLVIMENTO.: DIEGO BARCELOS NICACIO #
# EMAIL.: BARCELOS3@HOTMAIL.COM #
# DATA CRIACAO.: 20/02/2015 #
# VERSAO.: 2.0_200315 #
# #
######################################################################
####--> TELA PRINCIPAL RECEBE VALORES DE VARIAVEIS PELO USUARIO
principal(){
echo -e " \033[1;36m ##### ####### ###### # # ####### ### # ####### \033[0m";
echo -e " \033[1;36m # # # # # # # # # # # # \033[0m ";
echo -e "\033[1;36m # # # # # # # # # # # \033[0m";
echo -e "\033[1;36m # # # ###### # ##### # # ##### \033[0m";
echo -e "\033[1;36m # # # # # # # # # \033[0m";
echo -e "\033[1;36m # # # # # # # # # # \033[0m";
echo -e " \033[1;36m ##### ####### # # # ### ####### ####### \033[0m";
echo -e " \033[1;33m Digite o caminho de origem.: \033[0m "
read dir_origem
clear
echo -e " \033[1;34m Digite o caminho de destino.: \033[0m "
read dir_destino
clear
echo -e " \033[1;35m Digite o tipo de extensão (sem o pronto).: \033[0m "
read extensao
clear
####--> Exibi informações digitadas pelo usuário
echo -e " \033[1;33m Digite o caminho de origem.: $dir_origem \033[0m "
echo -e " \033[1;34m Digite o caminho de destino.: $dir_destino \033[0m "
echo -e " \033[1;35m Tipo de extensão.:$extensao \033[0m "
}
execution(){
clear
echo -e " \033[41;1;37m AGUARDE... \033[0m"
sleep 2
echo "FORAM COPIADOS $qtd ARQUIVOS $extensao"
rm /tmp/qtdCopy.txt
find $dir_origem -name "*.$extensao" | cpio -pdm $dir_destino > /dev/null 2>&1
}
############################################################################
####--> CONDICAO VERIFICA VALORES DAS VARIAVEIS
while [ "$resposta" != "y" ] ; do
clear
principal
if [ ! -d "$dir_origem" ] ;
then
clear
echo -e " \033[41;1;37m Diretorio de origem não existe =( \033[0m"
sleep 2
else
echo "As informações à cima estão corretas? y/n"
read resposta
fi
done
####--> CONDICAO VERIFICA SE DIRETORIO DESTINO EXISTE E CRIAO SE NECESSARIO
if [ ! -d "$dir_destino" ] ;
then
mkdir -p $dir_destino
fi
####--> VERIFICA SE EXISTE ARQUIVO E EXECUTA A MÁGICA (Até que fim he he )
find $dir_origem -name "*.$extensao" > /tmp/qtdCopy.txt
qtd=`(cat /tmp/qtdCopy.txt | wc -l)`
if [ "$qtd" = 0 ] ;
then
clear
echo -e " \033[41;1;37m Desculpe, não encontramos nenhum arquivo $extensao no $dir_origem \033[0m"
rm -rf $dir_destino /tmp/qtdCopy.txt
exit
fi
execution
echo -e " \033[41;1;37m PROCESSO REALIZADOO COM SUCESSO! \033[0m"
Pesquisa de grupos do sistema por nome de grupo ou gid
traduz_man - traduzir man pages
Faça suas próprias atualizações de pacotes/programas no Void Linux e torne-se um Contribuidor
Como rodar o Folding@home no Linux
Criando um painel de controle (Dashboard) para seu servidor com o Homepage
O Abismo entre o Código e o Chão: Saltos Tecnológicos e a Exclusão Estrutural no Brasil
Instalar e Configurar a santíssima trindade (PAP) no Void Linux
Pisando no acelerador do Linux Mint: Kernel XanMod, zRAM e Ajustes de Swap
Como compilar kernel no Linux Mint
Lançamento do Brutal DOOM test 6
Consertando o erro no Brave de webgl
Solução para ter de volta as bordas e barra de títulos das janelas em zenity no Debian 13.x
Seno, Coseno, Tangente em CLIPPER (0)
Inserir uma URL num arquvo pelo Ubuntu (CLIPPER) (0)
VMWare Player não conecta na rede nem consigo intercambiar arquivos (1)









