需要帮助构建用于复制的 shell 脚本

需要帮助构建用于复制的 shell 脚本

我的计算机中有数千张图片(原始),分类存放在许多文件夹和子文件夹中。我想将它们复制到云端硬盘中。我已成功安装到云端硬盘。由于我的上传带宽有限,可能需要几天时间才能完成上传。当我尝试使用 nautilus 复制文件时,有时复制过程会由于网络断开连接而暂停一秒或更长时间,因此 nautilus 无法复制文件。我需要采取措施(跳过文件并记下该文件)以便恢复复制过程。我昨晚复制了大约 1000 个文件,复制过程被中断了几次。复制过程完成后,我手动复制了那些跳过的文件,有时这些跳过的文件会被部分复制到目标位置,所以我不得不覆盖该文件。我不能坐在电脑前几个小时来检查复制过程是否因为某种原因而暂停。我想使用 shell 脚本自动执行这个复制过程。

你们能推荐一下这个过程的命令吗,这样我就可以创建一个 shell 脚本?我需要帮助

  1. 应复制所有文件、文件夹和子文件夹
  2. 如果复制过程显示某种进度,以便我知道完成了多少,那就太好了。
  3. 如果目标文件存在,它将自动覆盖它。
  4. 如果复制过程中断,则应重试几次。
  5. 如果仍然失败,它应该记录文件详细信息,以便我稍后检查。

答案1

您只需要一个命令:rsync

要进行第一次复制,请执行以下操作:

cd path/to/local/directory
rsync --verbose --recursive --progress /path/to/cloud

每当您断开连接或想要更新时,只需执行以下操作:

cd path/to/local/directory
rsync --verbose --recursive --progress --update /path/to/cloud

更多附加功能:手册页在这里

相关内容