shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RES: [shell-script] undelete em linux


From: Julio Cezar Neves - DATAPREVRJ
Subject: RES: [shell-script] undelete em linux
Date: Fri, 11 Jul 2003 11:54:44 -0300

Olá a todos,
estou muito sumido mas aos poucos voltarei (o problema não é do fígado mas
sim do acúmulo de trabalho :). Vou pegar a deixa do Gustavo e colocar abaixo
2 scripts:

O 1º , que chamei de erreeme.sh finge que remove, mas no duro coloca os
arquivos em /tmp/$LOGNAME e o 2º faria o papel do undelete.

Obs: O /etc/profile da instalação tem um find que mata os arquivos com mais
de 20 dias em /tmp/$LOGNAME e um alias rm=erreeme.sh. Ai vão eles:

$ cat erreeme.sh
#!/bin/bash
#
#  Salvando Copia de Arquivo Antes de Remove-lo
#

if  [ $# -eq 0 ]
then
    echo "Erro -> Uso: $0 arq [arq] ... [arq]"
    echo "        O uso de metacaracteres eh permitido. Ex. erreeme arq*"
    exit 1
fi

MeuDir="/tmp/$LOGNAME"
if  [ ! -d $MeuDir ]
then
    mkdir $MeuDir
fi

if  [ ! -w $MeuDir ]
then
    echo Impossivel salvar arquivos em $MeuDir. Mude permissao e tente
novamente...
    exit 2
fi

Erro=0
for Arq
do
    if  [ ! -f $Arq ]
    then
        echo $Arq nao existe.
        Erro=3
        continue
    fi

    DirOrig=`dirname $Arq`
    if  [ ! -w $DirOrig ]
    then
        echo Sem permissao de remover no diretorio de $Arq
        Erro=4
        continue
    fi

    if  [ "$DirOrig" = "$MeuDir" ]
    then
        echo $Arq ficara sem copia de seguranca
        rm -i $Arq
        [ -f $Arq ] || echo $Arq removido
        continue
    fi

    cd $DirOrig
    pwd >> $Arq
    mv $Arq $MeuDir
    echo $Arq removido
done
exit $Erro

$ cat restaura.sh
#!/bin/bash
#
# Restaura arquivos deletados vi erreeme
#

if [ $# -eq 0 ]
then
    echo "Uso: $0 <Nome do Arquivo a Ser Restaurado>"
    exit 1
fi

Dir=`tail -1 /tmp/$LOGNAME/$1`
grep -v $Dir /tmp/$LOGNAME/$1 > $Dir/$1
rm /tmp/$LOGNAME/$1


[ ]s,
Julio Cezar Neves
-Eu Apoio o Software Livre-
-I Support Free Software-
* +55 21 2528-7070  /  9853-4044
*address@hidden


> -----Mensagem original-----
> De: Gustavo Adolfo Kellermann [mailto:address@hidden]
> Enviada em: quinta-feira, 10 de julho de 2003 15:35
> Para: address@hidden
> Assunto: [shell-script] undelete em linux
> 
> 
>       Será que tem boa documentação em português sobre como 
> recuperar arquivos
> no linux?
> 
>       Lendo a nova página do Aurélio:
> "...muitos, MUITOS arquivos apagados acidentalmente..."
> 
>       Lembrei da maior aventura da minha vida na informática, 
> quando removi um
> diretório com milhares de arquivos de movimento, que 
> significavam $$$ a
> ser cobrado dos usuários. Lá fui eu procurar ajuda para recuperá-los,
> achei o undelete how-to e fui em frente. Umas doze horas 
> depois eu estava
> com tudo recuperado. Meu maior problema foi que recuperei mais de 4000
> arquivos, mas sem saber o nome deles, e partir para tentar 
> separar quais
> me interessavam... O comando file ajudou em parte, por que haviam tres
> tipos de arquivo, mas dois deles eram texto e o file não os
> distingüia, e eu precisava só os arquivos do último dia, lá tinha
> arquivos de movimento da última semana. Nada que uma noite 
> sem dormir e
> muitos scripts escritos sob pressão intensa não 
> resolvessem:-), de manhã
> eu entreguei o arquivo de movimentos para ser processado.
> 
> Mas, parece que vários avanços foram feitos de lá para cá, já 
> tem até um
> projeto para o comando unrm (unremove):
> 
> http://freshmeat.net/projects/unrm/
> 
> -- 
> **************************
> Gustavo Adolfo Kellermann
> address@hidden
> Terra Networks Brasil S.A.
> **************************
> 
> 
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de 
> programação, como perl, C etc. Quem insistir em não seguir 
> esta regra será moderado sem prévio aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em 
http://www.listasdiscussao.cjb.net
---------------------------------------------------------------------
 

Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]