Compactado e descompactador bem interessantee

Publicado por Rafael 29/08/2004

[ Hits: 7.047 ]

Download compactador.sh




Esse é um compactador q eu acabei de criar, estou aprendendo shell e esse foi um otimo exercicio.
Ele usa funçoes e menu, com a opção de ver os arquivos esolhidos antes de compactar e de visualizar o log apos a compactação!

  



Esconder código-fonte

#!/bin/bash
##################################################################
#Script Compactando e descompactando arquivos e diretorios!
#Escrito por Rafael B. Gianesini
#E-mail rafaelbgdf@hotmail.com
#29-Agosto-2004
#Viva o GPL
#Pode ser alterado!
##################################################################
rm -f /tmp/com.txt>>/dev/null 2>>/dev/null
touch /tmp/com.txt
function escolher()
{
        clear
        echo "Escreva o endereço aonde se entra os arquivos"
        read -p "Ex. (/home/usuario) " END
        if [ -d $END ]
        then
                echo " O CONTEUDO DO DIRETORIO EH:"
                echo
                ls $END
                echo
 
                while true
                do
                        echo
                        echo "Aperte ENTER para sair ou"
                        echo "Escolha o(s) nome(s) do(s) arquivo(s) que deseja compactar: "
                        read ARQ
 
                    if [ $ARQ ]
                    then
 
                        if [ -d $END/$ARQ -o -e $END/$ARQ ]
                        then
                                echo $END/$ARQ >> /tmp/com.txt
                                echo "Adicionado a lista com sucesso!!"
                                sleep 2
                                clear
                                ls $END
                        else
                                echo "Arquivo ou diretorio não encontrado!"
 
                        fi
                    else
                        clear
                        break
                   fi
                done
        else
                echo "Diretorio não encontrado"
                sleep 2
                clear
        fi
 
 
}
 
 
function comp()
{
        clear
        echo "Escolha o nome do arquivo: "
        read NOME
        echo "Compactando ..."
        tar -zcvf $NOME.tar.gz -T /tmp/com.txt >>logD.txt 2>>logD.err
        echo "Compactado com sucesso!"
        echo "Logs criados com sucesso"
        sleep 2
 
}
 
function desc()
{
        clear
        echo "Escreva o endereço do arquivo a ser descompactado"
        echo "ex (/home/usuaio/nome.tar.gz)"
        read DES
        if [ -e $DES ]
        then
                echo "Descompactando"
                echo "Aguarde..."
                tar -zxvf $DES >> logD.txt 2>> logD.err
                echo "Arquivo descompactado com sucesso!!"
                sleep 2
        else
                echo "Arquivo não encontrado"
                sleep 2
        fi
 
 
 
}
 
function lis()
{
        clear
        echo "Os arquivos escolhidos até agora foram"
        echo
        cat /tmp/com.txt
        echo
        echo "Aperte alguma tecla para voltar..."
        read nada
        clear
 
}
 
function logs()
{
        echo "Escolha uma das opções abaixo"
        echo "1 - Log de erro"
        echo "2 - Log de sucesso"
        echo "3 - SAIR"
        read -p "Opcao: " op
 
        case "$op"
        in
        1) cat ./logD.err | less;;
        2) cat ./logD.txt |less;;
        3) break;;
        esac
}
clear
 
while true
do
        clear
        echo -n "
 
                Opcao   Acao
                =====   ====
                  1     Ecolher os arquivos a serem compactados
                  2     Compactar os arquivos escolhidos
                  3     Ver a lista de arquivos compactados
                  4     Descompactar
                  5     Logs
                  6     Sair
 
 
                Ecolha uma das opções : "
read op
 
case "$op"
in
 
        1) escolher;;
        2) comp;;
        3) lis;;
        4) desc;;
        5) logs;;
        6)clear
        exit 1;;
 
esac
 
done

Scripts recomendados

Atualizar o sistema através de Shell Script (Debian, Ubuntu e devidados)

Regra básica de firewall em shell

Batalha dos Vingadores

Projeto rodar League of Legends no Linux =)

Acelerar leitura e escrita no hd


  

Comentários
[1] Comentário enviado por jllucca em 31/08/2004 - 09:13h

ahhhhh assim não vale!

Usar em backend o tar é jogo sujo... Quando se fala fiz "um compactador e descompactador" no meu entendimento tu fez um e não fez um frontend pra um que já existe. Mas, mesmo assim é legal... Vai lá que tá aprendendo! :)

[]'s

[2] Comentário enviado por removido em 24/08/2008 - 13:15h

Perfeito,
Eu vou usa-lo, mas olhado a exrcursão tem defeito.
Está bem complexo e bem melhor, o que fiz.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts