【发布时间】:2013-02-11 20:03:29
【问题描述】:
我正在阅读linux中的'SCP'命令手册页,最后它说
“没有尝试使用临时文件进行“近乎原子”传输”。
我隐约能猜到它是什么,但谁能清楚地告诉我这句话的技术定义。
谢谢, 稻谷
【问题讨论】:
标签: scp temporary-files
我正在阅读linux中的'SCP'命令手册页,最后它说
“没有尝试使用临时文件进行“近乎原子”传输”。
我隐约能猜到它是什么,但谁能清楚地告诉我这句话的技术定义。
谢谢, 稻谷
【问题讨论】:
标签: scp temporary-files
原子副本将如 Craig 所述,使用临时文件,然后将临时文件 mv 到预期的目的地。 mv 是一个原子提供源和目标位于同一分区上。只有已打开 tmp 文件的文件操作才能读取内容。 rename() 对在分区之间移动的文件不是原子的,因为必须复制数据。
这当然假设您正在 scp'ing 到 UNIX 系统:)
【讨论】:
Atomic 意味着在 scp 完成文件之前,没有其他东西可以读取或写入文件。 “近原子”是指将文件复制到临时位置(在目标机器/磁盘上)然后移动到最终位置的常见做法。移动操作比副本快得多(相比之下,“近原子”),但它不一定是真正意义上的原子。在非原子移动期间,另一个进程仍可能以不一致的状态读取文件。
【讨论】:
scp 的每个场景和配置中。那么我的答案“不一定正确”是什么?