Was passiert, wenn unbedarfte Linux-User mit root-Rechten am Dateisystem werkeln – meist funktioniert etwas nicht mehr, wie es soll. Solche Dinge lassen sich aber protokollieren, welche Datei wurde verändert, wo wurde etwas erstellt – mit Entr lassen sich aber auch andere Dinge verwirklichen, etwa automatische Backups, die starten, wenn in einem bestimmten Verzeichnis neue Dateien landen. Klar, für Backups gibt es genug andere Software – meist handelt es sich aber auch um fette Brocken von Software. Die Grenzen der Möglichkeiten von Entr setzt aber nur die eigene Phantasie.

Entr installieren

Unter auf Debian basierenden Linux-Distributionen (Debian, Ubuntu, Linux Munt und so weiter) installieren Sie diese Software wie üblich ganz einfach über die Paket-Verwaltung, etwa grafisch über Synaptic oder als root auf der Shell mit den Befehlen:

apt update
apt install entr

Entr nutzen

Entr wird auf der Shell genutzt, je nachdem, ob man damit das System überwachen will oder das eigene Home-Verzeichnis also mit root-Rechten oder mit Benutzer-Rechten. Um die Geschichte zu automatisieren, gibt es keine Konfigurationsdatei, es wird der Befehl etwa automatisch als Script gestartet, etwa als Cron-Job oder eben über Systemd – hiermit werden wir uns in diesem Beitrag nicht befassen, dazu gibt es bereits passende Artikel auf der Linux Bibel.

Zuerst gilt es zu verstehen, wie Entr funktioniert – Entr ist ein sogenannter Event Notify Runner, dies bedeutet – sie tut so lange nichts, bis sich etwas an den vorgegebenen Datei oder Verzeichnissen ändert. Passiert jedoch eine Änderung, führt sie den zugewiesenen Befehl aus.

Sehen wir uns ein einfaches Beispiel an. Ich erstelle ein Script namens „echo.sh„, mache dieses ausführbar und fülle es mit folgendem Inhalt:

#!/bin/bash
echo "Hallo Linux Bibel"

Also auf der Shell:

chmod +x echo.sh
./echo.sh

Das Script gibt folgenden Inhalt aus:

Bis jetzt hat Entr noch nicht mitgespielt – jetzt übergeben wir das Script Entr:

echo echo.sh | entr /usr/bin/bash ./echo.sh

Das echo echo.sh dient dazu, dass die Ausgabe am Terminal weiter zu sehen ist. Nach der Pipe | weisen wir Entr an, den Befehl /usr/bin/bash echo.sh auszuführen, sobald sich etwas an der Datei ändert, erst einmal mit der unveränderten Datei:

Jetzt verändern wir mit einer Textdatei den Inhalt des Scripts, etwa auf:

#!/bin/bash
echo "Hallo Linux Bibel Österreich"

Wird die Änderung gespeichert, führt Entr sofort den Befehl aus und zeigt die Änderung an:

Wichtig ist zu verstehen, Entr überwacht die entsprechenden Dateien oder Verzeichnisse nur und tut einmal gar nichts, Sie müssen der Software auch zeigen, was sie damit tun soll.

Jetzt wollen wir dieses Verständnis etwas vertiefen – wir erstellen eine Datei namens „Dateiname.txt“ und lassen diese zu Beginn leer, jetzt lassen wir Entr drauf los:

ls Dateiname.txt | entr wc /_

Mit dem Befehl ls Dateiname.txt wird der Inhalt der Datei „Dateiname.txt“ ausgelesen und angezeigt, mit wc wird die Anzahl der darin enthaltenen Wörter und Zeichen angezeigt. Wichtig ist hierbei die Option /_ am Ende. Es ist der Platzhalter, den Entr nutzt – wir sehen in Kürze, was dies für eine nette Auswirkung hat.

Da die Datei bisher leer ist, ist die Ausgabe leer. Fügen wir etwas Text ein, zeigt uns die Ausgabe von wc die Anzahl der Wörter und Zeichen, dahinter folgt der Pfad zur veränderten Datei und der Dateiname:

Jetzt will ich beispielsweise alle Textdateien im Verzeichnis überwachen:

ls *.txt | entr wc /_

Schon haben wir eine entsprechende Ausgabe:

Die Änderungen lassen ich natürlich etwa in eine entsprechende Datei protokollieren:

ls *.txt | entr wc /_ >> Protokoll.txt

Jetzt wollen wir etwas weiter gehen, etwa eine automatische Sicherung von Bildern aus dem Verzeichnis „/home/robertg/Bilder“ auf einen gemounteten USB-Stick unter „/mnt/USB-Stick/Bilder„:

find /home/robertg/Bilder/ -name '*.jpg' | entr cp /_ /mnt/USB-Stick/Bilder/

Das Beste an Entr – die Software selbst braucht zur Überwachung so gut wie keine Ressourcen – anders als viele andere Software, wendet es sich direkt ans Dateisystem, dass diese Aufgabe sowieso übernimmt.

Categories:

Schreibe einen Kommentar

Noch keine Reaktion

Neue Themen im Forum
Linux intern verstehen - Neues Bu …Hallo, ich bin auf Seite 57 f. irritiert: Da wird der Befehl & … Weiterlesen
Alt+F4 - TastenwiederholungSorry das wird nicht funktionieren. Alt+F4 schließt das Fenster. … Weiterlesen
Statistik für Juli 2026Die Entwicklung im WIKI im Juli 2026 Der Juli ist der Monat des … Weiterlesen
Kategorien im Wiki
WIKI-Beiträge des Monates

Die Beiträge des Monates finden Sie im Kalender unter den blau markierten Tageszahlen.

August 2026
M D M D F S S
 12
3456789
10111213141516
17181920212223
24252627282930
31  
Archiv