Updateb 没有添加新文件

Updateb 没有添加新文件

我已经设置了一个单独的 mlocate 数据库来索引自定义目录,它由 cron 任务更新,但由于某种原因,它不会索引自第一次创建数据库以来创建的文件。索引目录位于安装座上cifs,但我已cifs从中PRUNEFS移除/etc/updatedb.conf

这是每小时运行的命令:

/usr/bin/updatedb -l0 -U /datadrive/data -o /tmp/locate.db

如果我删除/tmp/locate.db并运行 updatedb 命令,则所有文件都已正确编入索引。如果我再次运行它,则比原始文件更新的文件/tmp/locate.db不会被编入索引。

它运行在 Azure 中的 Centos 7 VM 上,cifs挂载方式为Azure Files共享。其挂载方式/etc/fstab如下:

//my_storage.file.core.windows.net/my_files /datadrive cifs vers=3.0,用户名=my_username,密码=my_password,dir_mode=0777,file_mode=0777 0 0

所以问题是——我如何让它索引新文件?

答案1

您需要先使用 更新数据库updatedb。您可以像下面这样修改脚本:

/usr/bin/updatedb; /usr/bin/updatedb -l0 -U /home/shui/data -o /tmp/locate.db

我在我的实验室中测试,它对我有用。

[root@shui tmp]# ls -alt locate.db
-rw-r-----. 1 root slocate 164858 Apr 27 03:58 locate.db
[root@shui tmp]# updatedb 
[root@shui tmp]# updatedb -l0 -U /home/shui/data -o /tmp/locate.db
[root@shui tmp]# ls -alt locate.db
-rw-r--r--. 1 root root 159136 Apr 27 04:07 locate.db

相关内容