Como gerar banco de dados com o slocate (Secure Locate) no Linux! | SempreUpdate
Como gerar banco de dados com o slocate (Secure Locate) no Linux!
Descrição e recomendações de uso para o comando slocate, utilizado para gerar um banco de dados com a localização dos arquivos e diretórios no sistema, facilitando desta forma a recuperação de forma rápida e eficiente de qualquer componente do sistema de arquivos.
Adicionalmente, e mais importante, o comando também armazena as permissões dos arquivos e propriedades, de forma que os usuários vejam apenas os arquivos a que possuem acesso. Como leitura extra, também temos um artigo onde abordamos, 20 comandos que todo sysadmin deveria saber.
Sistemas Linux possuem uma excelente ferramenta para nos ajudar na localização de arquivos na estrutura de diretórios, o comando slocate. O comando slocate 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.
Criando banco de dados com Slocate
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. 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 ao qual o usuário tenha acesso, como por exemplo seu diretório de trabalho pessoal.
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 invocar 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:
slocate --database=.slocate.db tex
Forneceu-se no exemplo a instrução de se buscar por arquivos que contenham os caracteres tex em zeu nome. O tempo de resposta do comando slocate é excelente. Rarissimas 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.
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.
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: