|
From: | Gilberto Nunes |
Subject: | Re: [shell-script] Manutenção Lixeira Samba |
Date: | Mon, 10 Mar 2014 09:05:35 -0300 |
Olá JúlioFalta mesmo um pouco de empenho meu pra conhecer ele mais a fundo...
Obrigado por sua ajuda... Sempre uso o find... Ele é realmente um comando bem versátil...
Valeu
Em 10 de março de 2014 08:49, Julio C. Neves <address@hidden> escreveu:
Olá Gilberto,o find é um cmd recursivo por natureza, assim sendo, troque:find /CAMINHO/DA/PASTA/RecycleBin -ctime +5 -type fpor:find /DIRETORIO/ACIMA/DAS/PASTAS/RECICLEBIN -iname RecicleBin -type d -ctime +5Isto é, vou procurar a partir de um nível acima todos os diretórios (-type d) cujo nome (-iname) seja RecycleBin, ignorando o case.
Gilberto, o find é um cmd muito poderoso, por isso aconselho que vc perca 10 minutos lendo este texto, escrito de forma leve, cheio de exemplos e em PT_br.Abcs,Julio@juliobash
Próximos cursos de Shell
Cidade
Local
Período
Rio de Janeiro
07-11/04
Dou treinamento de shell em qualquer cidade.
Para detalhes, entre em contato por email ouecho 436233889341364416673541503686485725801923229706P | dcEm 10 de março de 2014 08:25, Gilberto Nunes <address@hidden> escreveu:Se alguém puder ajudar agradeçoMas eu preciso que o find seja feito em todos os compartilhamentos onde tem a pasta RecycleBin...Ok... Beleza. Funciona!...Com find:Eu quero pegar os arquivos de cada pasta RecycleBin que sejam mais antigos que digamos 5 dias...Aqui tenho diversas pastas do Samba cada uma com a pasta RecycleBin, que é a lixeira de cada compartilhamento.Colegas...Desculpem insistir neste assunto.
Mas ainda estou dificuldade...
find /CAMINHO/DA/PASTA/RecycleBin -ctime +5 -type f
É aqui que estou parado...
Obrigado.--Em 7 de março de 2014 17:24, Alfredo Casanova <address@hidden> escreveu:o -type f indica apenas arquivos, ele não vai apagar os diretorios.2014-03-07 16:21 GMT-03:00 Gilberto Nunes <address@hidden>:
Sim....valeu
Mas agora tenho outro problema... Eu tenho que apagar os arquivos que estão dentro do diretório RecycleBin e não o diretório em sí...
Mas estou pesquisando aqui
--Em 7 de março de 2014 16:03, Julio C. Neves <address@hidden> escreveu:
Se entendi bem (qdo sugeri o uso de yad, não havia entendido, achei que vc quisesse escolher os diretórios em tempo real), dá para resolver isso somente com o cmd find:find /home/samba/shares -iname RecycleBin -type f -ctime +2 -exec rm -rf {} \+
Abcs,Julio@juliobash
Próximos cursos de Shell
Cidade
Local
Período
Rio de Janeiro
07-11/04
Dou treinamento de shell em qualquer cidade.
Para detalhes, entre em contato por email ouecho 436233889341364416673541503686485725801923229706P | dcEm 7 de março de 2014 15:14, Gilberto Nunes <address@hidden> escreveu:Desculpem... Já achei a respota no google...
ObrigadoEm 7 de março de 2014 14:52, Gilberto Nunes <address@hidden> escreveu:
O correto é - ou + ali no parâmetro -ctime ??Veja que coloquei a variável dias e usei ctime "+$dias", mas não funcionou....Então.. Só pra completar o pensamento...To usando assim:#Diretorio da Lixeira
# diretorio raiz do samba
dirSamba="/home/samba/shares"
#Arquivo de Log
log="/var/log/lixeira.log";
log2="/var/log/tamanho_lixeira.log";
#Remove os arquivos que foram movidos para lixeira a partir x dias
dias="2";for i in $(find "$dirSamba" -iname RecycleBin -type f -ctime "+$dias" ); do
# O for irá passar os retornos do find para o $i.
# O find irá procurar a partir do diretorio $dirSamba qualquer coisa que combine com o nome "RecycleBin".#ls "$i"/*
# O rm ira apagar recusivamente qualquer coisa que tiver dentro das pastas "RecycleBin".
ls "$i"
done
Só funcionou se eu coloco um sinal de menos ( - ) ao invés do sinal de mais ( + )...
ObrigadoEm 7 de março de 2014 14:35, Gilberto Nunes <address@hidden> escreveu:
Wow!!!Obrigo Willy... Era isso mesmo que eu queria... Obrigado...Em 7 de março de 2014 14:33, Willy Romão <address@hidden> escreveu:
Gilberto,
Um simples find já te dará a todos os diretorios.
Exemplo:
# diretorio raiz do samba
dirSamba="/smb"
# O for irá passar os retornos do find para o $i.
# O find irá procurar a partir do diretorio $dirSamba qualquer coisa que combine com o nome "RecycleBin".
for i in $(find "$dirSamba" -iname RecycleBin); do
# O rm ira apagar recusivamente qualquer coisa que tiver dentro das pastas "RecycleBin".
rm -rf "$i"/*
done
Qualquer dúvida é só falar.
Willy Romão
On 03/07/2014 01:56 PM, Gilberto Nunes wrote:
Seria legal...Mas nesse caso é para ser disparado por um contrab e creio que com yad ou qualquer outro programa que manipule telas não seria bom...
Trata-se de um servidor, que portanto não tem X-Server... Até tem, pois trata-se de um Zentyal server... Mas quero ficar restrito ao shell....
Valeu
--
Em 7 de março de 2014 13:51, Julio C. Neves <address@hidden> escreveu:
Se alguém tiver tempo (uns 15 ~ 20 minutos), pode reescrever esse script usando yad. Ficaria fantástico. Se ninguém fizer, talvez eu faça neste fim de semana.
Abcs,Julio@juliobash
Próximos cursos de Shell
Cidade
Local
Período
Rio de Janeiro
07-11/04
Dou treinamento de shell em qualquer cidade.
Para detalhes, entre em contato por email ouecho 436233889341364416673541503686485725801923229706P | dc
Em 7 de março de 2014 12:39, Gilberto Nunes <address@hidden> escreveu:
Encontrei esse por exemplo:Olá amigos...Estou pesquisando alguns scripts shell pra limpar a lixeira do Samba...
#!/bin/bash
#Script com para limpeza recursiva para lixeira do Samba
urlDir="/hd500g/.lixeira"; #Diretório raiz da lixeira
arqTmp="/tmp/arvore.txt"; #Arquivo temporário para criação da árvore de diretório
arqLog="/var/log/lixeira.log"; #Arquivo de log, onde irá logar os arquivos removidos
idade="15"; # idade do arquivo em dias
ls -RF $urlDir |grep : |tr : / > $arqTmp #Lista os diretórios recursivamente e salva em arvore.txt, especificado acima
contDir=$(cat $arqTmp) # Conteúdo de arvore.txt
DATA_LOG=`date +%a-%d-%m-%Y-%H:%M:%S` # Data para manter o log mais específico
rm -f $arqLog # Removendo arquivo de log, para não enchê-lo (Se for usar logrotate nem precisa)
echo -e "***************$DATA_LOG***************" >> $arqLog # Cabeçalho para o log (Enfeite)
for x in $contDir; do #Loop para entrar nos subdiretórios
find $urlDir -type f -ctime $idade 2 > /dev/null | # Procura pelos arquivos com a idade especificada
while read arquivo; do
echo "Excluido: $arquivo" >> $arqLog # Aqui loga o nome do arquivo a ser removido
rm -rf $arquivo # Remove arquivo
done
done
echo -e "***************$DATA_LOG***************" >> $arqLog # Rodapé para o log (Enfeite)
rm -f $arqTmp # Remove o arquivo temporário com a árvore de diretórios
exit 0; #Finaliza
Achei legal...
Mas aqui no meu caso, eu tenho uma pasta RecycleBin para cada compartilhamento...
Tipo:
Diretorio-A/RecycleBin
Diretorio-B/RecycleBin
Eu queria incrementar o script acima, para pegar diferentes pastas...
Alguém pode me dar uma ajuda??
Obrigado
--
Gilberto Ferreira
Gilberto Ferreira
-- Willy Romão
--
Gilberto Ferreira
--
Gilberto Ferreira
--
Gilberto Ferreira
Gilberto Ferreira
--
[]'s
Alfredo Casanova
Linux User #228230
msn: address@hidden
tel: +55 61 9655 9619
Gilberto Ferreira
--
Gilberto Ferreira
--
Gilberto Ferreira
[Prev in Thread] Current Thread [Next in Thread]
- Re: [shell-script] Manutenção Lixeira Samba, (continued)
- Re: [shell-script] Manutenção Lixeira Samba, Willy Romão, 2014/03/07
- Re: [shell-script] Manutenção Lixeira Samba, Gilberto Nunes, 2014/03/07
- Re: [shell-script] Manutenção Lixeira Samba, Gilberto Nunes, 2014/03/07
- Re: [shell-script] Manutenção Lixeira Samba, Gilberto Nunes, 2014/03/07
- Re: [shell-script] Manutenção Lixeira Samba, Julio C. Neves, 2014/03/07
- Re: [shell-script] Manutenção Lixeira Samba, Gilberto Nunes, 2014/03/07
- Re: [shell-script] Manutenção Lixeira Samba, Alfredo Casanova, 2014/03/07
- Re: [shell-script] Manutenção Lixeira Samba, Gilberto Nunes, 2014/03/10
- Re: [shell-script] Manutenção Lixeira Samba, Julio C. Neves, 2014/03/10
- Re: [shell-script] Manutenção Lixeira Samba, Gilberto Nunes, 2014/03/10
- Re: [shell-script] Manutenção Lixeira Samba, Gilberto Nunes <=
- Re: [shell-script] Manutenção Lixeira Samba, Gilberto Nunes, 2014/03/10
- Re: [shell-script] Manutenção Lixeira Samba, Gilberto Nunes, 2014/03/10
- Prev by Date: Re: [shell-script] Manutenção Lixeira Samba
- Next by Date: Re: [shell-script] Manutenção Lixeira Samba
- Previous by thread: Re: [shell-script] Manutenção Lixeira Samba
- Next by thread: Re: [shell-script] Manutenção Lixeira Samba
- Index(es):