在 SCP 传输完成之前阻止处理文件

在 SCP 传输完成之前阻止处理文件

大文件被传输到服务器进行处理。服务器使用监视特定目录incrond,并且当接收到新文件时,针对该文件执行处理脚本。

由于文件很大,传输需要一些时间。在处理文件之前如何确保文件已完成传输?

答案1

你的问题与scp无关。这与 inotify,用于触发文件系统事件操作的内核接口。而且您显然触发了错误的事件。阅读 incrontab 的手册页 了解系统如何工作。

如果您的处理脚本在文件尚未完成时已触发,我假设您在 IN_CREATE 事件上触发。您可以更改 中的相应条目以在incrontabIN_CLOSE_WRITE 上触发。

相关内容