我为本地网络做了一些夜间和每周镜像常用的存储库.有些情况下,有人试图在rsync发生时进行更新并失败,因为预期的
文件还不是全部.
是否可以执行rsync,以便所有更改的文件仅在完成时显示正确的名称?我知道rsync在每次传输过程中都使用临时的.hidden文件,但是我可以推迟重命名直到它以某种方式完成吗?
或者,似乎我可以使用–backup选项将所有更改移动到一个目录并在之后以原子方式移动它们,但我希望该功能与现在的功能相反.
我在Linux上的价值.
您可以使用–link-dest =选项.基本上你会创建一个新
文件夹,所有
文件都与新
文件硬
链接.完成所有操作后,您只需交换
文件夹
名称并
删除旧
名称即可.
因为没有内核/ VFS支持,所以在Linux中不可能这样做100%原子.但是,交换名称实际上只有2个系统调用,所以它应该在不到1秒的时间内完成它.只有在Darwin(MAC / OSX)上才能在HFS文件系统上调用swapata系统.