0

所以我使用 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 尝试在照片完全传输之前发送照片?有人有解决方案吗?

4

1 回答 1

0

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

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

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

于 2018-07-02T16:56:25.433 回答