我必须在Ubuntu下将一些文件从一个文件系统移动到另一个文件系统。但是,非常重要的一点是,文件永远不会以部分或不完整文件的形式存在于目标位置,至少不会以正确的文件名存在。
到目前为止,我唯一的解决方案是编写一个脚本,将每个文件都保存下来,将其复制到目标位置的临时名称,然后在目标位置将其重命名(我认为应该是原子的)为原始文件名,最后删除原始文件。
但是,编写和调试脚本似乎对于此任务来说是过大的。有没有一种方法或工具已经在本地执行此操作?
8
我感觉到一个xy问题。你为什么需要这个?
—
henning-恢复莫妮卡
@henning有很多可能的原因,所以这是一个很好的问题。例如,一个程序自动尝试处理文件名与某个正则表达式匹配的文件(但由于官僚主义的原因不能暂时禁用)。或者也许是一个备份系统,该系统先获取文件然后存储在持久但只写的介质上。
—
wizzwizz4
@henning我需要它,因为我有许多从几个不同的存储读取的缓存,但是其中一个缓存的容量即将用尽,需要将其从服务中删除。因此,每个文件(如果存在于任何位置)都必须完整且完整。否则,在传输开始和结束之间存在争用条件,缓存可能会抢占(并保留)不完整的文件。
—
Niels2000 '17