初始化等待复制脚本脚本损坏图像

时间:2018-07-02 16:37:20

标签: python linux nfs inotifywait

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

1 个答案:

答案 0 :(得分:0)

create事件将在创建文件后立即触发,甚至在文件未完全写入之前也会被触发,从而使图像看起来已损坏

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

您可以为大多数用来抓取/var/nfs/device_images / temp之类文件的实用程序指定rsync目录