所以我有一张带有 EXT4 文件系统的 Micro-SD 卡。上面有一堆我用来保存在这个结构中的文件:/YYYY-MM/folders/files
- 里面的文件数量通常只有1-10个,但是里面folders
的数量很多。我现在已将其更改为使其更美观,但是...folders
YYYY-MM
YYYY-MM/YYYY-MM-DD/..
我需要复制/移动 µSD 卡上的所有文件。这适用于每个文件夹,除了2019-10
我认为包含太多文件夹的文件夹。失败的命令(并非全部用于移动):
rsync
(通过 ssh):“接收增量文件列表”约 2 天后,它断开连接mv
:它在 DEST 中创建目录,然后卡住cp
: 同样的情况,卡在了./2019-10/ -> DEST/2019-10/
find .
: 一个小时什么也没做,我按 CTRL+C 后ls
: 和上面一样du -chs 2019-10
: 我让它运行了大约三天,没有任何反应
大小2019-10
约为 15.5GB(由df -h
其他所有内容移走后确定)。其数量folders
(我知道是因为存在文件夹数据库)为2019-10
40472 个。每个文件夹内平均有约 4 个文件。
现在我的问题是:如何将所有这些文件夹移出那里?
顺便说一句:起初我以为 µSD 卡有问题,这就是为什么我无法读取目录的原因,但以正常速度移动2019-11
并2019-12
工作得很好。它们总共包含相同数量的文件,但由于结构更好,它们在单个目录中从未包含超过 2000 个文件夹。
侧面信息:32GB SanDisk A1 µSD 卡(无假货)、内置笔记本电脑 SD 卡读卡器(性能最佳)、debian 10 操作系统(arch 可用)、8GB RAM 和 4x3.2GHz i7 CPU。
当我写这个问题时,我意识到了一个解决方案(经常发生,这太疯狂了)。我制作了一个脚本来遍历数据库,并为每个文件夹条目检索文件夹的名称,然后执行 a 来mv -v /sd-card/2019-10/${folderid}/ DEST
移动它。在正常速度下工作得很好。
我仍然问这个问题,并想知道如果我没有数据库该怎么办,这可能对将来的其他人有用。