0

我有一个外部硬盘驱动器,我怀疑它正在出路。此刻,我可以从中传输文件,但只是暂时的。不幸的是,我有一个大于 50GB 的文件。我对此的解决方案是使用 rsync 一次传输一个特定文件,让驱动器处于静止状态(将其关闭),稍后再恢复。

我是rsync --partial --progress --inplace --append -a /Volumes/Backup\ Drive/chris/Desktop/Recording\ Sessions/S1/Session\ 1/untitled ~/Desktop/temp用来转发的。(该文件位于无标题文件夹中,我将其移至临时文件夹中)但是,在停止并恢复它之后,它似乎覆盖了之前对该文件的尝试,这意味着我并没有真正得到任何进一步。

有什么我想念的吗?:X

谢谢你^_^

编辑:仍然不知道:\

4

1 回答 1

1

好吧,因为这是一个编程站点,所以这里有一个程序可以做到这一点。我在 OS X 上对其进行了测试,但您绝对应该首先在一些小文件上对其进行测试,以确保它符合您的要求:

#!/usr/bin/env python                                                                                                   

import os
import sys

source = sys.argv[1]
target = sys.argv[2]
begin = int(sys.argv[3])
end = int(sys.argv[4])

mode = 'r+b' if os.path.exists(target) else 'w+b'

with open(source, 'rb') as source_file, open(target, mode) as target_file:
    source_file.seek(begin)
    target_file.seek(begin)
    buffer = source_file.read(end - begin)
    target_file.write(buffer)

您使用四个参数运行它:源文件、目标文件和两个数字。第一个数字是开始复制的字节数(因此在第一次运行时您将使用 0)。第二个数字是要复制到的字节数(不包括)。因此,在随后的运行中,您将始终使用前一个第四个参数作为新的第三个参数(新开始等于旧结束)。就这样继续下去,直到完成,一路上使用你喜欢的任何尺寸。

于 2013-11-30T09:18:32.667 回答