[FUG-BR] crontab + "du -s" = bug
Victor Loureiro Lima
victorloureirolima em gmail.com
Sexta Fevereiro 9 20:50:44 BRST 2007
Em 09/02/07, Ricardo Nabinger Sanchez<rnsanchez at gmail.com> escreveu:
> On Fri, 9 Feb 2007 18:10:00 -0200
> "pc.suporte" <pc.suporte at bol.com.br> wrote:
>
> > Se eu executo do shell o comando: "du -s /etc" eu obtenho como resposta:
> > "1672 /etc" Agora se eu executo o mesmo comando "du -s /etc" através da
> > crontab eu obtenho a resposta "3344 /etc" Ou seja.... a crontab retorna
> > o DOBRO do tamanho que realmente é. Isso vale pra qualquer diretório, não
> > necessáriamente o /etc.
>
> Não é bug, é BLOCKSIZE padrão em 512.
>
> % setenv BLOCKSIZE 512
> % du -s /lib
> 6508 /lib
>
> % setenv BLOCKSIZE 4096
> % du -s /lib
> 814 /lib
>
> % setenv BLOCKSIZE 1024
> % du -s /lib
> 3254 /lib
>
> du(1)
> ENVIRONMENT
> BLOCKSIZE If the environment variable BLOCKSIZE is set, and the -k
> option is not specified, the block counts will be displayed in
> units of that size block. If BLOCKSIZE is not set, and the -k
> option is not specified, the block counts will be displayed in
> 512-byte blocks.
>
> --
> Ricardo Nabinger Sanchez <rnsanchez@{gmail.com,wait4.org}>
> Powered by FreeBSD
>
> "Left to themselves, things tend to go from bad to worse."
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>
Exatamente, perguntei na -hackers@ e o pessoal respondeu isso mesmo:
----
du uses the BLOCKSIZE environment variable to decide what size blocks
to display. Crontab commands don't run with your environment; they run
with a very restricted one. This is documented in the du manual page.
> Weird bug...
Someone probably set BLOCKSIZE in your environment. Try using "du -sk" to
force du to use 1k blocks.
---
victor
Mais detalhes sobre a lista de discussão freebsd