Estoy teniendo dos directorios separados. El usuario carga un archivo en el primero. Hay un cronjob ejecutándose en segundo plano que copia los archivos cada 5 minutos en el segundo directorio.
¿Qué sucede si el usuario no ha completado su carga y el cronjob copia los archivos? Tenga en cuenta que los dos directorios son propiedad de diferentes usuarios, el cronjob se realiza como root.
cp
no esperará hasta que el archivo esté completamente cargado. Como esperamos que la velocidad de transferencia de la red sea más baja que simplemente copiar el archivo de una ubicación a otra dentro del mismo host, en algún momento cp
llegará al final del archivo actual y dejará de copiar. La solución a su problema puede ser simple: primero, el usuario carga el archivo con algún nombre de archivo especialmente maltratado (por ejemplo, antepuesto con .
(carácter de punto). Cuando se realiza la transferencia, el usuario cambia el nombre al nombre original. Luego, el trabajo cron solo se ve para los archivos que no comienzan con .
.