Localizar e apagar [RESOLVIDO]

1. Localizar e apagar [RESOLVIDO]

Anderson Martins de Lima
andersonelima

(usa Debian)

Enviado em 30/11/2011 - 12:02h

Olá a todos!!

Eu to precisando montar um esquema para localizar arquivos de backup automáticos gerando pelo programda SolidWorks. Quando tem algum erro no projeto o SolidWork gera aquivos de backups que iniciam com: "~$[nome do arquivo]".

O objetivo é localiza esses arquivos de apaga-los. Tentei esse comando:

for cada in `find -name '~$*'` ; do cp $cada /tmp ; done ; rm -rf /tmp/*

Onde copiaria para a pasta /tmp e depois apagaria, o problema é que na copia aparece o seguinte erro:

cp: impossível fazer stat em....

Imagino que talvez seja por causa do espaço contido no nomes das pasta, ou porque estão em subpastas???

Se alguém puder me dar uma ajuda ficarei grato!! T+


  


2. Re: Localizar e apagar [RESOLVIDO]

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 30/11/2011 - 12:07h

usa o comando cp -av ou cp -r

na duvida de uma olhada na man page

$man cp


3. Re: Localizar e apagar [RESOLVIDO]

Anderson Martins de Lima
andersonelima

(usa Debian)

Enviado em 30/11/2011 - 13:07h

Eu já fiz vários teste usando o cmd cp, já havia tentado dessa forma mais ainda da o mesmo erro:

cp: impossível fazer stat em `./Nova': Arquivo ou diretório não encontrado


4. Re: Localizar e apagar [RESOLVIDO]

Alexandre Gonçalves Monteiro da Silva
alexandregms

(usa Ubuntu)

Enviado em 30/11/2011 - 13:13h

Seria isso ?!



#!/bin/bash

# Copiar arquivos que iniciam com "~" para a pasta /tmp
cp -vp `find / -name '~*' /tmp

# Excluir os arquivos da pasta /tmp que iniciam com "~"
cd /tmp && ls -lC1 | grep ^~ | xargs rm -f



Qualquer coisa postaí!


5. Re: Localizar e apagar

Luiz Schmitt
luizschmitt

(usa Ubuntu)

Enviado em 30/11/2011 - 13:15h

Tenta isso:

find /tmp -name "~$*" -exec rm {} \;


6. Executar a partir do PHP

Anderson Martins de Lima
andersonelima

(usa Debian)

Enviado em 30/11/2011 - 14:56h

Ai valeu! deu certo assim:

#find /pub/engenharia/ -name '~$*' -exec cp -v {} /tmp \;

Onde é encontrado todos os arquivos que iniciam com ~$, e são copiados para a pasta /tmp depois só apagar. Isso será incluído numa pagina php.

O problema agora é que coloquei isso numa pagina em php, estou tendo problemas com as permissões..???? Na hora de copias no log do apache da permissão negada???

Se alguém poder ajudar fico grato!!


7. Re: Localizar e apagar [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 30/11/2011 - 14:58h

O usuário do apache é o www-data, vc vai ter que dar permissão para o grupo ou usuário www-data aos arquivos/diretórios de origem para dar certo.


8. Re: Localizar e apagar [RESOLVIDO]

Anderson Martins de Lima
andersonelima

(usa Debian)

Enviado em 30/11/2011 - 15:12h

Valeu ai pela ajuda de todos, de certinho aqui... esse é o código que fiz no PHP, onde o usuário tem a opção de listar, mover para lixeira e apagar a lixeira, tipo isso...

<form name="form1" method="post" action="">
<input type="submit" name="btnLoc" id="btnLoc" value="Procurar" />
<input type="submit" name="btnEnv" id="btnEnv" value="Enviar" />
<input type="submit" name="btnDel" id="btnDel" value="Apagar" />
</form>
<br>
<?
if($btnLoc){
$output = shell_exec("cd /pub/engenharia; find -name '~$*'");
echo "<pre>$output</pre>";
}
if($btnEnv){
$output = shell_exec("find /pub/engenharia/ -name '~$*' -exec cp -v {} /teste \;");
echo "Copiado como Sucesso!";
}
if($btnDel){
$output = shell_exec("rm -rf /teste/*");
echo "Apagado como Sucesso!";
}
?>


rai3mb, eu já tinha feito a sua dica, e não tinha funcionado, mas quando vc escreveu ai que me toque que tinha esquecido de das um reload no apache2...

Muito obrigado e até mais.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts