我有一台非常老旧的服务器,存储了 16Tb 的数据。它运行的是 FreeNAS (freebsd)。网卡已物理损坏,服务器已奄奄一息。
我有 2 个 8TB NTFS 外置硬盘。我尝试将所有这些文件复制到 hdd1,将无法容纳的文件复制到 hdd2。硬盘安装在 /mnt/hdd1 和 /mnt/hdd2 中
我的空间刚好够用,但文件结构却异常复杂,我无法将几个文件夹复制到一个驱动器上,而将其他所有内容复制到另一个驱动器上。我需要一些脚本来做到这一点。有什么建议吗?
再说一遍,它只是没有 UI 的 freebsd
答案1
尝试这个:
- 安装 rsync
- 运行以下脚本
cd /path/to/data
rsync --recursive --relative . /mnt/hd1 || (
find . | sort > /tmp/source.lst
cd /mnt/hd1
find . | sort > /tmp/hd1.lst
diff -ab /tmp/source.lst /tmp/hd1.lst | tail -n +4 | grep -v ^- > /tmp/copied.lst
cd /path/to/data
rsync --recursive --relative --exclude-from=/tmp/copied.lst . /mnt/hd2
)
如果rsync
无法安装,您可以使用文件列表进行一些技巧,然后使用while
和逐个复制cp
。