Inotify 等待复制脚本损坏图像

Inotify wait Copy Script Corrupting Images

所以我有这个脚本 运行,使用 inotifywait。一台服务器将图像放入位于 /var/nfs/device_images 的主机服务器上的 NFS 文件夹中。 (工作文件夹上的 chmod 为 777)然后主机服务器将其移动到 python 脚本的工作目录中。

inotifywait -m /var/nfs/device_images -e create -e moved_to | while read path action file; do cp /var/nfs/drvie_images/$file /home/samuel/programname/images/$file; done

有点用。文件本身传输,但它已损坏。似乎 inotifywait 试图在照片完全传输之前发送照片?有人有解决办法吗?

create 一旦文件被创建,甚至在它被完全写入之前,事件就会被触发,使它看起来像图像已损坏

解决此问题的一种方法是让 inotifywait 仅侦听 move 事件并强制填充 /var/nfs/device_images 的服务器在临时目录中创建文件并将其移动完成后 /var/nfs/device_images

您可以为大多数用于抓取文件的实用程序指定 temp 目录,例如 rsync / wget