Cópia de arquivos
Publicado por Diego Barcelos (última atualização em 01/09/2015)
[ Hits: 12.116 ]
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"
zsh: Exemplo de uso do módulo zsh/curses
Script para baixar pacotes no Debian e derivados.
Relatório Diario Sarg com Compactação!
Visualisando espaço em disco, data do sistema e usuarios conectados
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
É normal não gostar de KDE? (9)
Linux é a solução para o fim do Windows10? (2)
Problemas com Driver NVIDIA (4)









