所以我使用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试图在照片完全传输之前发送它?有人有解决办法吗?
答案 0 :(得分:0)
create
事件将在创建文件后立即触发,甚至在文件未完全写入之前也会被触发,从而使图像看起来已损坏
解决此问题的一种方法是使inotifywait
仅侦听move
事件,并强制填充/var/nfs/device_images
的服务器在临时目录中创建文件并将其移至{ {1}}完成。
您可以为大多数用来抓取/var/nfs/device_images
/ temp
之类文件的实用程序指定rsync
目录