Script de recuperação de arquivo [RESOLVIDO]

1. Script de recuperação de arquivo [RESOLVIDO]

lauro
lauro_4L1n3

(usa Ubuntu)

Enviado em 24/01/2012 - 05:55h

Olá,

Preciso de script de recuperação de arquivos deletados, esses arquivos são 'deletados' por um outro script, que em vez de apenas deletá-los, salva uma cópia de segurança, no diretorio /tmp/$LOGNAME/, além de salvar o arquivo antes de deletá-lo, ele inclui na última linha do arquivo o diretório original do arquivo, para futura recuperação.
Tenho algumas dúvidas
1)como faço pra pegar apenas a última linha desse arquivo (que se refere ao diretorio original do arquivo)?
2)Quando o diretório é um nome composto, ou no caminho do diretório tem um nome composto, da erro no meu script, como faço pra contornar isso?

ABraços




  


2. Re: Script de recuperação de arquivo [RESOLVIDO]

Franco
caspper

(usa Solaris)

Enviado em 24/01/2012 - 10:58h

1) Última linha: tail -1 $arquivo
2) Para tratar nomes compostos sempre utilize "", não é muito comum nos unix usar espaços, mas se não tiver outro jeito.....
Se p. exe o nome do diretorio é Backup Semanal, vc armazena e referencia ele sempre entre aspas duplas DIR="Backup Semanal"


abss


3. Re: Script de recuperação de arquivo [RESOLVIDO]

Vinicius Miqueloti
Miqueloti

(usa Lubuntu)

Enviado em 24/01/2012 - 11:11h

1) tail -1f caminho_do_arquivo\arquivo

ou

cd caminho_do_arquivo
tail -1f arquivo


2) O ideal é não ter arquivos e diretórios com nomes compostos, porém você pode fazer uso deles da seguinte forma:

Exemplo para acessar uma pasta de musicas chamada "minhas musicas" em minha home:

cd /home/miqueloti/minhas\ musicas

ou

cd "/home/miqueloti/minhas musicas"

Qualquer dúvida posta ae!


4. Re: Script de recuperação de arquivo [RESOLVIDO]

lauro
lauro_4L1n3

(usa Ubuntu)

Enviado em 25/01/2012 - 16:22h

estou postando o script

#Script para voltar com um arquivo deletado pelo script de exclusão

#!/bin/bash

if test $# -eq 0
then
echo Passe o nome do arquivo
exit 1
fi

dir=$(tail -1 /tmp/$LOGNAME/$1)

mv /tmp/$LOGNAME/$1 $dir

#fim

como vcs disseram, para acessar, mover uma pasta com um nome composto faz-se assim
cd nome\ composto
mv arquvo nome\ composto

e como a variavel dir do script armazena o caminho,então no caso do diretório Área de trabalho,

o script tentara mover, nessa linha
mv /tmp/$LOGNAME/$1 $dir

onde $dir será substitudio por /home/usuario/Area de trabalho

e aí vem o erro, pois teria que mover para /home/usuario/Area\ de\ trabalho

entenderam??

Obrigado pela ajuda!


5. Re: Script de recuperação de arquivo [RESOLVIDO]

Alexandre Gonçalves Monteiro da Silva
alexandregms

(usa Ubuntu)

Enviado em 26/01/2012 - 00:41h

lauro_4L1n3 escreveu:

o script tentara mover, nessa linha
mv /tmp/$LOGNAME/$1 $dir

onde $dir será substitudio por /home/usuario/Area de trabalho

e aí vem o erro, pois teria que mover para /home/usuario/Area\ de\ trabalho

entenderam??

Obrigado pela ajuda!


Coloca as variáveis entre aspas duplas. No seu caso poderia fazer desta forma:

mv /tmp/$LOGNAME/"$1" "$dir"




6. Re: Script de recuperação de arquivo [RESOLVIDO]

lauro
lauro_4L1n3

(usa Ubuntu)

Enviado em 26/01/2012 - 10:12h

Obrigado gente, agora deu certinho!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts