我有一个运行在 JBOD 模式(两个物理磁盘作为一个磁盘)的 NAS 盒。不幸的是,这种配置给我带来了无数问题,我想将其更改为两个独立的磁盘。但是,我的所有文件都分布在两个磁盘上,我想先将它们合并到一个驱动器上,然后再继续。
我有一个像这样的文件结构(两个驱动器上相同),但不应该有文件冲突(文件应该只存在于一个驱动器上)。
/mnt/disk1/home/
|-- a
| |-- file1.txt
| |-- file2.txt
| |-- file3.txt
| |-- file4.txt
|-- b
| |-- file5.txt
| |-- file6.txt
| `-- file7.txt
`-- c
|-- file8.txt
|-- file9.txt
`-- file10.txt
/mnt/disk2/home/
|-- a
| |-- file11.txt
| |-- file12.txt
| |-- file13.txt
| `-- file14.txt
|-- b
| |-- file15.txt
| |-- file16.txt
| `-- file17.txt
`-- c
|-- file18.txt
|-- file19.txt
`-- file20.txt
我如何将文件从一个磁盘合并到另一个磁盘(复制或移动 - 没关系,无论如何,被复制的磁盘之后都会被格式化)。
我尝试过 rsync、mv、cp 等各种方法,但找不到正确的参数。我见过这个问题 (在 Linux 中合并 2 个目录树而无需复制?),但这指定了不应复制文件。我正在寻找相反的内容(指定需要复制文件)。
-谢谢
答案1
只需使用防水布来巩固它们:
( cd /mnt/disk2/home && tar cf - . ) | ( cd /mnt/disk1/home && tar xf - )
这会将所有文件和子目录从 /mnt/disk2/home 移动到 /mnt/disk1/home。结果将是:
/mnt/disk1/home/
|-- a
| |-- file1.txt
| |-- file2.txt
| |-- file3.txt
| |-- file4.txt
| |-- file11.txt
| |-- file12.txt
| |-- file13.txt
| `-- file14.txt
|-- b
| |-- file5.txt
| |-- file6.txt
| |-- file7.txt
| |-- file15.txt
| |-- file16.txt
| |-- file17.txt
`-- c
|-- file8.txt
|-- file9.txt
|-- file10.txt
|-- file18.txt
|-- file19.txt
`-- file20.txt