我的debian(挤压)服务器上的updatedb数据库非常慢.
>数据库位于何处
>我如何查看其内容并找出是否存在一些无用的东西,我可以添加到prunepaths?
>我如何修剪包含* / .git / *,* /.svn / *和类似的所有路径?
>为什么不排除文件,我在PRUNEPATHS中定义了?
我的/etc/updatedb.conf看起来像这样:
... # filesystems which are pruned from updatedb database PRUNEFS="NFS nfs nfs4 afs binfmt_misc proc smbfs autofs iso9660 ncpfs coda devpts ftpfs devfs mfs shfs sysfs cifs lustre_lite tmpfs usbfs udf" export PRUNEFS # paths which are pruned from updatedb database PRUNEPATHS="/tmp /usr/tmp /var/tmp /afs /amd /alex /var/spool /sfs /media /var/backups/rsnapshot /var/mod_pagespeed/" ...
编辑:
> locate数据库位于/ var / cache / locate / locatedb中
> locate /将列出数据库中的所有文件和目录(我通过将其导出到文件中查看结果:locate /\u0026gt;/tmp/locatedb.txt,下载此txt文件并查找大量无用的东西)
解决方法
您可能正在使用locate的GNU findutils版本,它不支持PRUNENAMES选项.安装mlocate将提供以下配置选项:
apt-get remove locate mv /etc/updatedb.conf /etc/updatedb.conf-GNU.old apt-get install mlocate
现在使用mlocate packge,您可以编辑或创建/etc/updatedb.conf并添加以下行:
PRUNENAMES=".git .bzr .hg .svn" PRUNEPATHS="/tmp /var/spool /var/cache /media /usr/tmp /var/tmp /sfs /afs /amd /alex /var/backups/rsnapshot /var/mod_pagespeed" # the paths in `PRUNEPATHS` must be without trailing slashes
updatedb
rm /var/cache/locate/locatedb
(mlocate数据库存储在/var/lib/mlocate/mlocate.db中)
有关该包装的更多信息,请查看https://apps.ubuntu.com/cat/applications/mlocate/.
(我花了很多时间试图解决类似的问题!)