The UNIX and Linux Forums  


Go Back   El UNIX y Linux Foros > Arriba Foros > Programación de scripts de shell y
.
google unix.com



Programación de scripts de shell y Plantear preguntas sobre KSH, CSH, SH, BASH, PERL, PHP, SED, AWK y otros scripts de shell y lenguajes de script de shell aquí.

Más UNIX y Linux Foro Temas usted puede encontrar útiles
Hilo Hilo para principiantes Foro Respuestas Último mensaje
Problema en el caso de loop El Observador Programación de scripts de shell y 2 05-28-2008 03:43 AM
bucle problema maskot Programación de scripts de shell y 1 05-25-2007 05:10 AM
Problema con el bucle for / sed? chiru_h Programación de scripts de shell y 2 08-27-2006 12:55 PM
Problema bucle dhananjaysk Programación de scripts de shell y 3 03-31-2006 02:05 PM
problema con el bucle while Mridula Programación de Alto Nivel 1 12-11-2005 11:44 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback vínculo Herramientas de hilo Buscar en este Hilo Tasa de Hilo Modos de visualización
  #1 (Enlace permanente)  
Old 01-25-2008
namishtiwari namishtiwari is offline Forum Advisor  
Usuario Registrado
  
 

Fecha: agosto 2007
Ubicación: Bangalore
Puestos: 377
problema de bucle

Hola,
Tengo un directorio llamado registros en los que tengo los archivos de registro.

tengo que tocar el archivo antes de borrarlo.

i estoy haciendo como este
filestodelete \u003d "*. log * * * log"

para los archivos de $ filestodelete
hacer
$ $ tocar archivos archivos. $ (date +% a)
rm-f $ filestodelete
hecho

contacto no está funcionando aquí, significa que no está tocando el archivo antes de eliminarlo.
amablemente me ayude en esto.

Última edición por namishtiwari; al 01-25-2008 09:32 AM..
  #2 (Enlace permanente)  
Old 01-25-2008
V3l0 V3l0 is offline
Usuario Registrado
  
 

Fecha: noviembre 2007
Lugar: Bélgica y Francia
Puestos: 70
Hola,

En primer lugar, cuando se selecciona "* * log", que no tienen para seleccionar "*. log *" beacause que se encuentran ya en la primera selección!

En segundo lugar, por qué "tocar" el archivo antes de borrarlos?

En tercer lugar, el script se runnig con "no se puede eliminar el archivo xxx" beacause del comando "rm-f $ filestodelete" que borrar todos los archivos seleccionados por el de "para los archivos (* * log | *. log *)"

Por lo tanto, propongo que la secuencia de comandos:

Código:
list=$(ls *log*)

for file in $list
do
    cp $file $file.$(date +%a)
    rm -f $file
done

  #3 (Enlace permanente)  
Old 01-25-2008
namishtiwari namishtiwari is offline Forum Advisor  
Usuario Registrado
  
 

Fecha: agosto 2007
Ubicación: Bangalore
Puestos: 377
Cita:
Publicado originalmente por V3l0 View Post
Hola,

En primer lugar, cuando se selecciona "* * log", que no tienen para seleccionar "*. log *" beacause que se encuentran ya en la primera selección!

En segundo lugar, por qué "tocar" el archivo antes de borrarlos?

En tercer lugar, el script se runnig con "no se puede eliminar el archivo xxx" beacause del comando "rm-f $ filestodelete" que borrar todos los archivos seleccionados por el de "para los archivos (* * log | *. log *)"

Por lo tanto, propongo que la secuencia de comandos:

Código:
list=$(ls *log*)

for file in $list
do
    cp $file $file.$(date +%a)
    rm -f $file
done
usted me dio buena suggestions.Thanks ..

tengo que tocar el archivo porque tenemos algunos procesos en ejecución que deberás elegir el archivo en blanco que de lo contrario la necesidad de reiniciar de nuevo, si aaplication i suprimido el archivo sin tocar it.cp será aumentar innecesariamente el tamaño.
  #4 (Enlace permanente)  
Old 01-25-2008
danmero danmero is offline Forum Advisor  
  
 

Fecha: noviembre 2007
Ubicación: 45.48-73.63
Mensajes: 1.439
Cita:
Publicado originalmente por namishtiwari View Post

Código:
list=$(ls *log*)

for file in $list
do
    cp $file $file.$(date +%a)
    rm -f $file
done

tengo que tocar el archivo porque tenemos algunos procesos en ejecución que deberás elegir el archivo en blanco que de lo contrario la necesidad de reiniciar de nuevo, si aaplication i suprimido el archivo sin tocar it.cp será aumentar innecesariamente el tamaño.
¿Qué acerca de cómo mover el archivo y tocar uno nuevo:

Código:
for file in `ls *log*`
do
    mv $file $file.`date +%a` && touch $file || echo "Can not backup $file";
done

  #5 (Enlace permanente)  
Old 01-25-2008
namishtiwari namishtiwari is offline Forum Advisor  
Usuario Registrado
  
 

Fecha: agosto 2007
Ubicación: Bangalore
Puestos: 377
Gracias por todas sus respuestas.

pero tengo un problema - mi script es como este --


Código:
BackupLocation="$OPTARG"
                if [[ $BackupLocation != *backup ]]; then
                        echo "Appending backup subdirectories"
                        BackupLocation=$BackupLocation/backup
                        mkdir -p $BackupLocation >/dev/null 2>&1
                        if [[ $? != 0 ]];then
                        echo "First Create The Directory And Then Take backup"
                        fi
                        cd $FileLocation
                        pwd
                        cp -R $FilesToDelete $BackupLocation
                       list=$(ls *log*)
                        for files in $list
                        do
                             rm -f $files
                          touch $files.$(date +%a)
                                                 done
                else
                        mkdir -p $BackupLocation >/dev/null 2>&1
                        cp -R $FilesToDelete $BackupLocation
                        for files in $list
                        do
                          rm -f $files
                          touch $files.$(date +%a)
                          
                        done
                if [[ ! -d $BackupLocation ]]; then
                echo "Unable to make backup directory: $BackupLocation"
                        if [[ $IsCronJob -eq 1 ]]; then
                          SendMiddleTierCleanMail "Middletierclean error message" $mt_clean_errfile
                        fi

aquí se toque el archivo de una y otra vez y el día después de añadir el nombre del archivo una vez más-como>
ansrpt26529.log.Fri.Fri.Fri.Fri
pero no quiero decirlo así.
tengo que tener copia de seguridad de la file.then tocar y borrar el archivo.
los patrones de los archivos a eliminar es
lista \u003d $ (ls * log *)
es seleccionar todos los archivos ansrpt26529.log.Fri.Fri.Fri.Fri gusta esto, pero yo no lo quieren como este podría ser sólo ansrpt26529.log.Fri.
patrones puede ser diferente aquí, así me dan algunas sugerencias para resolver este problema.

Última edición por namishtiwari; al 01-25-2008 12:41 PM..
  #6 (Enlace permanente)  
Old 01-25-2008
danmero danmero is offline Forum Advisor  
  
 

Fecha: noviembre 2007
Ubicación: 45.48-73.63
Mensajes: 1.439
¿Qué hay de

Código:
                       
list=$(ls *log.???)
for files in $list
do
    rm -f $files
    touch `echo $files | sed 's [^.]*$  '``date +%a`
done


Última edición por danmero; al 01-25-2008 01:05 PM..
Closed Thread

Marcadores

Herramientas de hilo Buscar en este Hilo
Buscar en este Hilo:

Búsqueda avanzada
Modos de visualización Vota a este hilo
Vota a este hilo:

Normas de envío
puede que no nuevo puesto de hilos
puede que no enviar respuestas
puede que no enviar archivos adjuntos
puede que no editar sus puestos

Código BB es Encendido
Emoticones son Encendido
[IMG] código Encendido
Código HTML es Apagado
Trackbacks son Encendido
Pingbacks son Encendido
Refbacks son Encendido




Todas las horas son GMT -4. La hora es 06:56 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traducciones de idiomas Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Estudios
El UNIX y Linux Foros Contenido Copyright © 1993-2009. Todos los derechos Reserved.Ad Gestión por RedTyger

Las direcciones URL de contenido vBSEO 3.2.0