简短背景
我已经构建了一个小型 Linux 计算机集群,并创建和运行了分布式计算脚本。在完成一些基本操作并运行后,我现在正在调整脚本,尝试调整时间以进行一些基本的负载平衡。为了实现这一点,我认为我需要以某种方式同步这些计算机。
问题
如果我有一个 Samba 共享文件,用作存储工作列表和结果的通信平台。是否有某种方法(最好内置在 Samba 配置或类似的东西中)让我能够使用服务器时间在文件“到达”Samba 服务器时自动重新标记文件?
到目前为止找到了自己的解决方案
拥有一个单独的 Samba 服务器端脚本,只需在所有传入文件到达时对其进行处理,即可为它们提供相同的相对时间。如果我们需要知道 Samba 服务器与客户端的相对时间,这仍然无法解决问题,但至少服务器可以比较时间。
答案1
通常情况下,传入文件是带有服务器时间的时间戳。换句话说,mtime
等于上次上传/修改时的服务器时间。
但是,客户端可以随意更改mtime
。例如,cp -a
和就利用了这一点rsync -a
,因为它们保留了源端的最后修改时间(mtime
)。
那么,显而易见的问题是:你如何上传文件?你能使用具有非时间保留语义的方法/命令吗?
或者,您可以使用ntp
所有客户端与通用的、可信赖的时间源同步。