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]
