ragfica.pages.dev

Como criar um script bash para monitorar alterações em arquivo específico?

Monitorar alterações em arquivos é uma tarefa comum para administradores de sistemas e desenvolvedores. O método mais eficaz e confiável é utilizar o comando inotifywait, que faz parte do pacote inotify-tools. Este comando permite observar eventos de arquivos e diretórios em tempo real, oferecendo uma solução leve e eficiente para monitoramento de alterações.

Pré-requisitos

Passo 1: Instalar o inotify-tools

Primeiro, instale o pacote inotify-tools no seu sistema. Este pacote contém as ferramentas necessárias para monitorar eventos de arquivos.

sudo apt-get install inotify-tools  # Para Debian/Ubuntu
# ou
sudo yum install inotify-tools      # Para RHEL/CentOS

Passo 2: Criar o script de monitoramento

Crie um arquivo de script com o seguinte conteúdo. Este script monitorará um arquivo específico e exibirá uma mensagem sempre que ele for modificado.

#!/bin/bash

# Arquivo a ser monitorado
FILE_TO_WATCH="/caminho/para/seu/arquivo.txt"

# Loop infinito para monitoramento
while true; do
    # Aguarda por eventos de modificação no arquivo
    inotifywait -e modify "$FILE_TO_WATCH"
    
    # Exibe mensagem quando o arquivo é modificado
    echo "O arquivo $FILE_TO_WATCH foi modificado em $(date)"
done

Passo 3: Tornar o script executável

Dê permissão de execução ao script para que ele possa ser executado diretamente.

chmod +x script_monitoramento.sh

Passo 4: Executar o script

Execute o script no terminal. Ele começará a monitorar o arquivo especificado e exibirá uma mensagem sempre que uma modificação for detectada.

./script_monitoramento.sh

Exemplo Prático

Considere que você deseja monitorar o arquivo /home/usuario/documento.txt. Abaixo está um exemplo de como o script funcionaria:

Ação Saída do Script
Arquivo documento.txt é modificado O arquivo /home/usuario/documento.txt foi modificado em Thu Jun 20 10:30:45 UTC 2024
Arquivo documento.txt é modificado novamente O arquivo /home/usuario/documento.txt foi modificado em Thu Jun 20 10:31:12 UTC 2024

Conclusão

Com este método, você automatiza o monitoramento de alterações em arquivos específicos em segundos, evitando a necessidade de verificação manual constante e garantindo que você seja notificado imediatamente de qualquer modificação.