probaste asi?

 if [ -z "$(cat $con_perfil)" ]  2&>/dev/null

2008/12/12 Aleka <[email protected]>:
> Gente:
>
> Estoy realizando un script en el cual busco los usuarios inactivos en
> el fileserver(samba) y, les comprimo y  elimino el "profile".
>
> No es que el script no funcione, funciona de hecho puedo eliminar los
> perfiles, el problema se presenta en esta parte de la función
> busca_perfiles, en donde deberia evaluar si la variable esta vacia. La
> cuestion es que para todos los casos, lease cuando hay usuarios sin
> perfil y cuando hay usuarios con perfil me muestra el mismo mensaje.
>
> Estuve revisando y debagueando(si es que asi se escribe) el script,
> pero no le encuentro nada raro.
>
> #Informacion de los perfiles
>                if [ -z `cat $con_perfil` ]  2&>/dev/null
>                        then
>                        echo No hay usuarios inactivos sin perfil
>                        else
>                        echo A estos usuarios inactivos les fue comprimido y 
> eliminado el perfil:
>                        cat $con_perfil
>                fi
> }
>
>
> Pego mi script completo para que puedan pegarle una hojeada y darme
> sus comentarios
>
> #!/bin/bash
>
>
> # variables
> netlogon=/var/lib/samba/netlogon
> profiles=/var/lib/samba/profiles
> backup_home=/backups/backup-home
> backup_profiles=/backups/backup-profiles
> us_inactivos=`mktemp`
> con_perfil=`mktemp`
> sin_perfil=`mktemp`
>
> #Lista de home
> newlshome=`ls /home | grep -v tar | grep -v defaultuser | grep -v
> grupos | grep -v papelera | grep -v "lost+found"`
>
>
>
> #Buscar usuarios inactivos en el sistema
> busqueda_usinactivos(){
>        for a in $newlshome
>                do
>                found=`find $netlogon -maxdepth 2 -name "netlogon.$a.bat"`
>                        if [ -z "$found" ]
>                        then
>                            echo $a>>$us_inactivos
>                        fi
>                done
>                comprime_home
> }
>
>
>
> #Buscar perfiles de usuarios inactivos
> busca_perfiles(){
>        cd $backup_profiles
>        var2=`cat $us_inactivos`
>        for a in $var2
>        do
>        foundp=`find $profiles -maxdepth 2 -iname $a`
>                if [ -z "$foundp" ]
>                        then
>                        echo $a>>$sin_perfil
>                        else
>                        echo $a>>$con_perfil
>                        tar cjfp  $a.tar.bz2 $foundp 2&>/dev/null
>                        rm -rf  $foundp
>                fi
>        done
> #Informacion de los perfiles
>                if [ -z `cat $con_perfil` ]  2&>/dev/null
>                        then
>                        echo No hay usuarios inactivos sin perfil
>                        else
>                        echo A estos usuarios inactivos les fue comprimido y 
> eliminado el perfil:
>                        cat $con_perfil
>                fi
> }
>
>
> busqueda_usinactivos
> busca_perfiles
> rm -rf $us_inactivos $us_activos $con_perfil $sin_perfil
>
>
> Saludos, Aleka
> --
> ceci tuera cela
> --
> Para desuscribirte tenés que visitar la página
> https://listas.linux.org.ar/mailman/listinfo/lugar-gral/
>
> /* Publica y encontra trabajo relacionado con softlibre en 
> http://www.usla.org.ar/modules/jobs/ */
>
> Si tenés algún inconveniente o consulta escribí a 
> mailto:[email protected]
>
-- 
Para desuscribirte tenés que visitar la página
https://listas.linux.org.ar/mailman/listinfo/lugar-gral/

/* Publica y encontra trabajo relacionado con softlibre en 
http://www.usla.org.ar/modules/jobs/ */

Si tenés algún inconveniente o consulta escribí a 
mailto:[email protected]

Responder a