El 24/08/07, Felix Cuello <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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. > > > > > >

