[FUG-BR] Ajuda com Shell Script para backup das mailbox
Tiago Cruz
tiagocruz em forumgdh.net
Qua Fev 15 12:45:51 BRST 2006
Olá Ricardo,
On Wed, 2006-02-15 at 12:23 -0200, Ricardo A. Reis wrote:
> Isso é meio off mas,
>
> Eu faria algumas modificações,
Eu não acho isso off, de forma alguma...
> 1. problema
>
> Caso o servidor tiver muitos arquivos pequenos o que acontece com
> mailservers, o uso do ls vai demorar alguns minutos e consumir alguns megas de
> memoria, tudo isso acontece devido ao ls tentar colocar td de forma ordenada.
> Pelos meus servidores 300.000 arquivos consomem +/- 200MB
> Pra evitar isso tente usar -f no ls
Realmente, este problema existe... mas aqui não é tão grande assim :-)
> 2. O uso do awk para imprimir a coluna $9 é problematico, pq ele não vai
> imprimir de forma correta se o nome do arquivo tiver espaço, isso não acontece com
> frequencia em mailservers
Caraca... realmente, ele ignora os caracteres depois do espaço, embora
eu tenha a impressão que o Courier-IMAP não guarda arquivos com espaço,
é melhor evitar isso...
> 3. O uso do for é discutivel porque caso o problema do awk seja
> resolvido o for vai tratar " " e dessa forma o arquivo não vai ser movido, eu modificaria isso pra
> usar while.
> Algo como comando |while read arquivo;do mv $arquivo /tmp;done
Não entendi. O for não trabalha com aspas, é isso?
> O comando acima so mostrará na tela, pra fazer vc pode salvar em um
> arquivo em usar vc pode 'sh arquivo' ou fazer o awk fazer pipe para o shell:
>
> find . -type f -ls | awk '$8 ~ /Feb/ { gsub(/^.*\.\//,"") ; print "mv \""$0"\" /tmp"|"sh" }'
Bom rapaz... o scripitão já estava funcionando e eu iria enviar de volta
para vocês agora, mas depois desse trem todo ae... hehehehe... acho que
terei que refazer algumas partes...
Aparentemente isso funciona direitinho e talz... mas... sabe como é...
sub(r, t, s)
substitutes t for the first occurrence of the regular expression
r in the string s. If s is not given, $0 is used.
gsub same as sub except that all occurrences of the regular expres-
sion are replaced; sub and gsub return the number of replace-
ments.
Cuméquié ae? Quem é r, quem é t e quem é s em (/^.*\.\//,"") 8-P
E... se você tiver tempo para explicar um pobre programador de VB
falido, pra que tanto \""$0"\" no final? Eu tentei tirar umas aspas,
umas barras para ver o que acontece mas não entendi direito... hehehe
> Curiosidade, dentro do diretorio dos emails tenta fazer isso cat .
> |strings é muito mais rapido que qualquer ls ou find
Aqui não chega a fazer diferença, mas obrigado por avisar :)
Brigadão!
Vou mandar o script em outro email
--
Tiago Cruz
http://linuxrapido.org
_______________________________________________
freebsd mailing list
freebsd em fug.com.br
http://lists.fug.com.br/listinfo.cgi/freebsd-fug.com.br
Mais detalhes sobre a lista de discussão freebsd