Samba:检查文件的完整性

Samba:检查文件的完整性

我有一台安装了 Samba 的设备(上面装有 Ubuntu)。还有一个 cron 作业,每 60 秒从 Samba 共享中复制文件。我现在遇到一种情况,即 cron 作业有时会移动不完整的文件——因为文件仍在通过网络传输。当文件非常大时尤其会发生这种情况。

有没有办法检查文件的完整性?或者,是否有 Samba 设置可以锁定文件(防止其被移动)直到文件完成?

答案1

在文件传输完成之前,该文件将由 Samba 进程使用(打开)。您可以通过命令来测试这一点fuser。因此,您的移动命令将类似于:

if [[ ! fuser /my/file ]]; then 
    mv /my/file /somewhere/else 
fi 

仅当文件已关闭时才会尝试移动文件,这意味着传输已完成。

相关内容