shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

script pra somar bytes do home de usuarios


From: Roberto Alves
Subject: script pra somar bytes do home de usuarios
Date: Thu, 24 Aug 2006 15:38:08 -0300

Pessoal,
to tentando fazer um script que crie uma lista de arquivos do home de cada
usuario em uma maquina, com o du, e some os arquivos por usuario para eu
saber quanto cada um tá gastando de disco.
O script não deve ser dificil mas to errando, acho que no algoritimo.


explicacao:
eu criei uma lista "du.home.txt" atraves do comando "du" e tirei as colunas
que não serviam e fiquei apenas com uma coluna de bytes e outra do nome do
arquivo com o caminho de cada um.
Esse arquivo limpinho com bytes e files eu chamei de du.home.tmp.
Quando leio esse arquivo eu tento armazenar o nome do usuario e somar todos
os arquivos de cada user mas nao to conseguindo acertar o processo.
Eu comentei esses passos pra nao repetir a toda hora nos testes e fiquei com
um arquivinho pequeno e resumido pra eu poder verificar mais facil.

A cara dele é a seguinte:

server1@>more du.home.tmp
admin  5
admin  5
guest   10
user9  5
user9  3


Alguem pode me dar uma ajuda?



server1@>cat du_home.sh
#!/bin/ksh
#  Nome : Du-home
#  Procedimento : Verificar o uso em kbytes do fs /home por usuario
#
clear

#du -k /home > du.home.txt
#cat du.home.txt |cut -f3 -d/ > user.txt
#cat du.home.txt |cut -f1 > size.txt
#paste user.txt size.txt | sort > du.home.tmp


usuario="a"
BYTE=0
BYTESUM=0

while :
        read USER BYTE
        do

        [ $USER != $usuario ] &&
          BYTESUM=$(( "$BYTESUM" + "$BYTE" ))
          echo "Total de uso em disco do usuario $USER  em bytes: $BYTESUM"
||
          # > saida.teste

          BYTESUM=$(( "$BYTESUM" + "$BYTE" ))
          usuario=$USER
          echo "Total de uso em disco do usuario $USER  em bytes: $BYTESUM"
          # >> saida.teste

        done < du.home.tmp


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]