我有一个视频编码脚本,我想尽快运行一个文件移到一个特定的目录。在
如果我使用inotify之类的东西,如何确保文件在完成移动之前不会被编码?在
我考虑过做一些类似的事情:
但是,如何使步骤2正常工作并且只运行一次1?在
我使用的是UbuntuServer11.10,我想使用bash,但是如果可以简化问题的话,可以说服我使用Python。在
我并不是将文件“下载”到这个目录中,而是在绝大多数时间内使用rsync。在
另外,这个Ubuntu服务器运行在一个虚拟机上。在
我通过NFS从FreeBSD服务器装载了我的主文件存储。在
我使用的一种技术适用于FTP。向FTP服务器发出命令,将文件传输到辅助目录。命令完成后,向服务器发送第二个命令,这一次告诉服务器将文件从aux目录重命名为最终目标目录。如果使用inotify或轮询目录时,文件名在重命名完成之前不会出现,因此,可以保证文件是完整的。在
我不熟悉rsync,所以我不知道它是否具有类似的重命名功能。在
inotifywait
看起来很有前途。你必须小心一点,因为如果在设置通知之前下载完成,它将永远等待。在最简单的方法是使用}这样的程序进行下载,直到文件下载完毕才退出。如果失败,我不确定这是否是绝对最佳的解决方案,但是您可以使用一个循环脚本,使用
wget
或{lsof
和grep
检查文件是否打开:相关问题 更多 >
编程相关推荐