每日 updatedb cronjob 应该如何配置?

每日 updatedb cronjob 应该如何配置?

长期以来,我的 Ubuntu VM 一直存在严重的性能问题,因为每天的某个时间 CPU 都会达到 100%,这表明挂载共享目录的 fuse 进程存在问题/mnt/hgfs。为了找出导致问题的原因,我做了

$ sudo lsof /mnt/hgfs/
[sudo] passord for myuser: 
COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF    NODE NAME
find    20811 nobody    4r   DIR   0,45   327680 1644542 /mnt/hgfs/SharedData/Users/myuser/Pictures/Lightroom/Main Previews.lrdata/9

然后找到该find进程的父进程:

$ sudo pstree -s -p 20811
systemd(1)───anacron(20328)───sh(20470)───run-parts(20472)───locate(20715)───updatedb.findut(20720)───updatedb.findut(20728)───su(20786)───sh(20809)───find(20811+

因此,这是由 cron 作业调用而导致的updatedb。没关系,我知道updatedb在 有一个配置文件/etc/updatedb.conf,所以我将其添加/mnt/hgfs到变量中PRUNEPATHS,并认为这就是它。

事实证明并非如此。同样的问题不断出现。

好的,所以 grep 目录后/etc/cron.*我很快就发现了/etc/cron.daily/locate,这次我查看了一下,发现脚本设置了自己的自定义配置,包括PRUNEPATHS。它似乎/etc/updatedb.conf根本没有查阅。这让我非常困惑。日常更新中不使用的配置文件有什么意义?现在我需要破解系统提供的文件才能使其工作。这似乎违反直觉,而且不是我在 Ubuntu 上习惯的东西。

有人能解释一下这里的逻辑吗,或者这是怎么回事应该上班?

相关内容