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]

Responder a