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.

Responder a