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

Re: Duda Script



El 24/08/07, Felix Cuello <cuellof@gmail.com> escribió:
> Qué tal Maxi!
>
> Mi solución no es del todo "buena", la verdad es que no soy buen programador
> de shell y quizás existe algo mejor. Pero pegale una mirada al comando
> "lsof" y fijate si podés sacarle un poco más el jugo que a un simple
>
> lsof | grep $file | wc -l
>

Si, lo solucione con lsof, es un poco lento hasta que encuentra los
files abiertos, pero bueno, por el momento funciona.

Muchas gracias por la ayuda !!!!
Maxi

> El lsof hace exactamente eso, te lista los archivos del sistema que están
> abiertos.
>
> Saludos,
>
> Félix
>
>
>
> On 8/24/07, Maxi <mgoldsmid@gmail.com> wrote:
> > Hola gente,
> >
> > Tengo un script[1] muy simple, que me trae un problema y no veo como
> > mejorarlo....
> > El script debe copiar archivos de un path a otro.
> > El script esta en el cron, y cada 20 minutos se ejecuta.
> > En el path original constanemente se escriben archivos, y el problema
> > es que hay momentos que se estan escribiendo archivos y el script
> > entra en funcionamiento, lo que ocurre es que el archivo que estaba
> > abierto se copia mal.
> >
> > ¿En el script, como puedo consultar y no copiar si el archivo origen
> > esta abierto o esta siendo utilizado?
> >
> > Una opcion seria consultar por el tamaño del archivo, dos veces, para
> > ver si hay diferencia, si la hay es por que el archivo esta creciendo,
> > por ende se esta usando.
> >
> > Pero habra alguna otra manera de saberlo? un... if [ $file is open ]
> >
> > [1]
> > #!/bin/bash
> >
> > cd /var/www/webmail/voice/
> > path="/var/www/backup"
> >
> > for file in *.wav
> > do
> >         file_new=`echo "$file" | sed   "s/://g"`
> >         if [ ! -e $path/$file_new  ]
> >         then
> >                 cp $file  $path/$file_new
> >         fi
> > done
> >
> >
> >
> > Saludos.
> > Maxi.
> >
> >
>
>



Reply to: