Como gerar banco de dados com o slocate (Secure Locate) no Linux!

como-gerar-bando-de-dados-com-o-slocate-no-linux

O comando Linux slocate é Utilizado para gerar um banco de dados com a localização dos arquivos e diretórios no sistema. E assim, facilitar a recuperação de forma rápida e eficiente de qualquer componente do sistema de arquivos. Desta forma, saiba como gerar um banco de dados com o slocate no Linux.

Adicionalmente, e mais importante, o comando também armazena as permissões dos arquivos e propriedades. Desta forma os usuários verão apenas os arquivos a que possuem acesso. No entanto, como leitura extra, também temos um artigo onde abordamos, 20 comandos que todo sysadmin deveria saber.

O Linux possui uma excelente ferramenta para nos ajudar na localização de arquivos na estrutura de diretórios, o famoso slocate. O comando cria um banco de dados contendo a listagem dos arquivos do sistema e sua localização na estrutura de diretórios. O banco de dados criado pelo comando slocate fica localizado no diretório /var/lib/slocate/ e chama-se slocate.db.

O programa slocate armazena também, além do nome, as permissões de leitura e propriedade dos arquivos. E desta forma, garante que ninguém obtenha informações sobre arquivos aos quais não tenha acesso. Daí o seu nome, Secure Locate.

Se você está querendo aprender ainda mais sobre o Terminal Linux, temos dois artigos importantes:

Criando banco de dados com Slocate

O banco de dados com slocate é criado executando o comando:

Terminal
slocate -u

Este comando irá gravar no arquivo /var/lib/slocate/slocate.db a localização e o nome de todos os arquivos e diretórios a partir do diretório raiz. Além disso, usuários comuns podem também criar seu índice personalizado. A restrição é que o banco de dados (slocate.db) deve ser gravado em um local o qual o usuário tenha acesso, como por exemplo seu diretório de trabalho pessoal.

Terminal
slocate -U /home/usuario -o .slocate.db

O banco de dados pessoal foi chamado de .slocate.db. O nome inicia-se em “.” para que não conste nas listagens normais do diretório de trabalho. Ao executar o comando slocate sem argumentos, o banco de dados pesquisado será o do sistema (/var/lib/slocate/slocate.db). Para consultar o banco de dados pessoal, utilizar a opção –database:

Buscando arquivos com o slocate

Terminal
slocate –database=.slocate.db tex

Forneceu-se no exemplo a instrução de se buscar por arquivos que contenham os caracteres tex em seu nome. O tempo de resposta do comando slocate é excelente. Raríssimas vezes será necessária a criação de um banco de dados pessoal, a não ser que o sistema seja muito grande e contenha centenas de milhares de arquivos. Mesmo nestas condições a busca é bastante eficiente.

Caso realmente se opte por um banco de dados individual, uma boa alternativa é criar um alias que especifique as diretivas apropriadas:

Terminal
alias Slocate=”slocate –database=$HOME/.slocate.db”

Desta forma, se especificarmos Slocate estaremos consultando o banco de dados pessoal. O comando slocate continuará fazendo uma busca na listagem completa. O acesso a este banco de dados é feito através do comando locate.

Automatizando a atualização do banco de dados slocate.db no Linux

Usá-lo é extremamente simples, basta fornecer como argumento a cadeia de caracteres que se deseja localizar no sistema. Finalmente, principalmente em sistemas bastante ativos, com uma grande taxa de modificação do sistema de arquivos, o mais indicado é automatizar a atualização do banco de dados slocate.db. As seguintes entradas na crontab realizam esta atualização uma vez a cada hora:

Terminal
0 * * * * slocate -u

Para usuários normais:

Terminal
0 * * * * slocate -U /home/usuario -o .slocate.db