【问题标题】:how to resume copying the files where it stopped如何继续复制停止的文件
【发布时间】:2022-09-26 10:00:46
【问题描述】:

我正在将文件从我的系统复制到硬盘。由于电源问题,复制的进度停止了。

所以我想从它离开的文件中复制文件

我使用了命令

cp -rv /home/naity/data /media/pendrive

我想使用rsync 从它离开的地方恢复副本。

所以任何人都可以提出一些更好的解决方案。谢谢。

  • 我会重新开始。如果您的系统突然断电而没有关闭或刷新其缓冲区,则您的文件可能已损坏。将它们全部删除并重新开始。
  • 我不认为整个文件都损坏了最后一个文件可能是.....此外120gb文件已经复制了另外50gb
  • 好吧,由于您最初标记了 Python(我已经将其添加回来),您可以使用 osshutil 模块中的各种函数来检查文件是否存在于新位置以及文件大小是否为与原版相同,如果是则跳过它。
  • 请提出解决方案,我不知道该怎么做@MattDMo
  • 更好地再次复制 - 您可以为每个文件计算 hash 以检查它们是否正确。据我所知rsync 也使用hash 检查它必须再次发送哪些文件。

标签: python linux rsync cp


【解决方案1】:

您通常使用的命令是

SOURCE="/home/naity/data"
REPLICA="/media/pendrive/"

rsync --recursive --delete-delay --verbose "${SOURCE}" "${REPLICA}"

如果您打算在 REPLICA 目标下创建一个名为“data”的文件夹/目录,那么上面是指定 SOURCE 的方法。

如果您希望“data”文件夹本身(不是指内容)已经预先存在于 REPLICA 上,那么您需要在 REPLICA 的定义末尾添加“data/”,并添加一个“/ " 在 SOURCE 定义的末尾。

添加--delete-delay将确保 rsync 删除任何在 SOURCE 中没有重复的文件(包括部分复制的文件,来自 cp 或 rsync,它们是电源故障条件的剩余物)。

【讨论】:

    猜你喜欢
    • 2018-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-15
    • 1970-01-01
    • 2018-10-10
    • 2017-08-17
    • 2020-05-31
    相关资源
    最近更新 更多