将动态主目录复制到新驱动器

将动态主目录复制到新驱动器

我正在使用 Ubuntu 10.04.4 LTS 运行基于天气的 Web 服务器。最近,运行操作系统 (/dev/sdb) 的 2TB 驱动器开始产生磁盘错误消息。服务器中有 (2) 个 2TB 驱动器,但只有一个在使用中 - 另一个 (/dev/sda) 在格式化过程中损坏。我移除了损坏的 /sda 驱动器并在其位置安装了一个新的 2TB 驱动器,然后执行“dd”将 sdb 克隆到新的 sda。大约 10 小时后,当该操作完成时,我发现服务器仍在运行,现在在新的 sda 驱动器上。我拉出 sdb 并将其替换为另一个新的 2TB 驱动器,并从 CD 中将 Ubuntu 15.10 加载到其中。

我的问题是:如何将我的 /home 目录复制到新的 sdb 驱动器?/home 目录每 5 秒左右从运行在 Win XP 计算机上的天气软件更新一次,并通过 ftp 传输到服务器。

答案1

如果不可能让系统离线几个小时只是为了从容地复制文件,我会做这样的事情:

  • /home使用命令的“存档”模式将旧位置复制到新位置cpcp -a /old/home /new/home。外部进程仍可继续将文件添加到“旧位置”。
  • 进行更改,/etc/fstab以便在启动时安装“新主页”
  • 重新启动。启动时,“新家”将被挂载,但可能缺少一些最近的文件。系统再次联机,外部进程开始将文件上传到“新家”
  • 使用 rsync 将丢失的文件从“旧主目录”复制到“新主目录”: rsync -av /old/home /new/home

上述场景假设外部进程上传每隔几秒钟就会生成新文件,但不会修改/覆盖任何现有文件。

(所有 shell 命令均摘自我的脑海,视为伪代码)

相关内容