收缩/重置目录大小?

有没有办法缩小目录条目?

我的dovecot maildir目录的大小已经从默认的4096增加到了几个megs,并且与磁盘配额混为一谈。

我发现的唯一方法是删除并重新创build目录。 我希望有一个神奇的function – 我对任何东西都是开放的,除了手工编码的汇编程序。

编辑:为了后人,finddirects> 4096:

find / -type d -size +4k -printf "%s\t%p\t%i\n" | sort -nr 

  • Windows Server - 共享无pipe理员权限的文件
  • Apache:每个目录ExpiresByType?
  • 我如何操作find命令来查找“found”文件所在的目录?
  • WordPress上的Nginx的子目录:访问仪表板?
  • 当所有其他人都需要授权时,允许访问一个目录
  • 有一个文件夹/文件同步工具,可以生成一个同步脚本
  • 3 Solutions collect form web for “收缩/重置目录大小?”

    另请参阅包含数百万个文件的目录上的rm ; 切线相关,但我们在那里讨论。

    据我所知,至less在ext2 / 3,不,没有(在线)的方式来缩小他们删除+重新创build。 未安装的,有几个消息来源表示e2fsck -D可能工作,但我可以声称没有这个选项的个人经验。

    一些参考资料供进一步阅读

    我最近不得不删除并重新创build一个NFS目录,以缩小它之前的臃肿的大小。 在这个过程中,我发现了一个使用rsync和硬链接来完成这个任务的高效方法。 这种方法避免了复制实际的文件,同时仍然实现了重新创build相同内容的目录。

    由于我们需要在维护窗口中进行停机操作,所以尽快将重build目录提供给我们是非常重要的。 如果简单性对您更重要,请将第一个移动命令更改为源目录中的“rm -rf”,然后跳过另一个“rm -rf”命令。

    我从一个更大的过程中提取这些命令,并抽象出目录名称,所以如果我在这个翻译中犯了一个错误,我很抱歉。

     mkdir /tmp/holding_dir/ rsync -ai --delete --link-dest=/path/to/source_dir/ /path/to/source_dir/ /tmp/holding_dir/ mv /path/to/source_dir/ /tmp/deleteme/ mv /tmp/holding_dir/ /path/to/source_dir/ 

    然后,我们删除目录。 根据大小,你可能需要使用更复杂的技术来做到这一点。 例如,使用带有–delete标志的rsync将空目录同步到这个目录可能会更有效率。

     rm -rf /tmp/deleteme/ 

    我会这样做。

    cp -al oldir newdir && mv olddir tempname && mv newdir olddir && rm -r tempname

    其中olddir是要缩小的目录newdirtempname是临时文件名

    cp -alnewdir中创buildolddir内容的链接,接下来的三个命令将它们与newdir交换并清理。

    服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器.