【发布时间】:2018-07-02 16:37:19
【问题描述】:
所以我使用 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 尝试在照片完全传输之前发送照片?有人有解决方案吗?
【问题讨论】:
-
见stackoverflow.com/questions/4231243/inotify-with-nfs。但是,您可能会遇到与 NFS 无关的问题,因为生产者在首次创建文件后可能仍在写入文件,这意味着您正在复制在复制过程中发生更改的文件。通常,您需要生产者确保文件在写入整个文件之前不会出现在其“预期”名称下,例如
write_to_file tmpname && mv tmpname realname。这样一来,您就知道realname一经创建就完成了。
标签: python linux nfs inotifywait