Я настроил отдельную базу данных 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
не индексируются.
Это работает на виртуальной машине Centos 7 в Azure и cifs
Mount - это Azure Files
Поделиться. Он установлен в /etc/fstab
следующим образом:
//my_storage.file.core.windows.net/my_files / datadrive cifs vers = 3.0, username = my_username, password = my_password, dir_mode = 0777, file_mode = 0777 0 0
Возникает вопрос: как заставить индексировать новые файлы?
Сначала вам нужно обновить свою базу данных, используя 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