Shellscriptfrage: Alter einer Datei prüfen
Hallo, ich möchte in einem shellscript das Alter einer Datei prüfen, und wenn die zB. älter als 5 Minuten ist, sollen weitere Aktionen durchgeführt werden (Hintergrund: Überwachung, ob ein Programm noch korrekt läuft). Per Googlesuche konnte ich nichts finden. Ist das (einfach) möglich und wenn ja wie ? Jürgen -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Am 03.11.2019 um 12:45 schrieb Jürgen Hochwald:
Hallo,
ich möchte in einem shellscript das Alter einer Datei prüfen, und wenn die zB. älter als 5 Minuten ist, sollen weitere Aktionen durchgeführt werden (Hintergrund: Überwachung, ob ein Programm noch korrekt läuft).
Per Googlesuche konnte ich nichts finden.
Ist das (einfach) möglich und wenn ja wie ?
Jürgen
man find beispielsweise: find /verzeichnis -name datei -mmin -5 Manfred -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Hallo Manfred, Am Sonntag, 3. November 2019 13:09 schrieb Manfred Kreisl:
ich möchte in einem shellscript das Alter einer Datei prüfen, und wenn die zB. älter als 5 Minuten ist, sollen weitere Aktionen durchgeführt werden (Hintergrund: Überwachung, ob ein Programm noch korrekt läuft).
Vielleicht hilft folgende Idee: if [ -f datei ] then last=$(($(ls -l --time-style=+%s datei | cut -d " " -f 6) + 300)) if [ $(date +%s) -lt ${last:-0} ] then do_something fi fi last enthält den zeitstempel von datei + 300 Sekunden; ist aktuelle Zeit kleiner als last wird do_something ausgeführt. -- Gruß Marcus -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Am 03.11.2019 um 13:30 schrieb Marcus Roeckrath:
Hallo Manfred,
Am Sonntag, 3. November 2019 13:09 schrieb Manfred Kreisl:
ich möchte in einem shellscript das Alter einer Datei prüfen, und wenn die zB. älter als 5 Minuten ist, sollen weitere Aktionen durchgeführt werden (Hintergrund: Überwachung, ob ein Programm noch korrekt läuft).
Vielleicht hilft folgende Idee:
if [ -f datei ] then last=$(($(ls -l --time-style=+%s datei | cut -d " " -f 6) + 300)) if [ $(date +%s) -lt ${last:-0} ] then do_something fi fi
last enthält den zeitstempel von datei + 300 Sekunden; ist aktuelle Zeit kleiner als last wird do_something ausgeführt.
Sorry, aber das ist ja nun mal reichlich kompliziert und umständlich Hier mal als Einzeiler: .... [ -n "$(find /tmp -name bla -mmin -5)" ] || echo alarm alarm .... Manfred -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Hallo, Am Sun, 03 Nov 2019, Jürgen Hochwald schrieb:
ich möchte in einem shellscript das Alter einer Datei prüfen, und wenn die zB. älter als 5 Minuten ist, sollen weitere Aktionen durchgeführt werden (Hintergrund: Überwachung, ob ein Programm noch korrekt läuft).
if test "$(find /bla -maxdepth 1 -name foo -mmin +5)" ; then ... else ... fi Evtl. ist's aber sinnvoller ein Programm das dafür gedacht ist zu verwenden, also nen watchdog-daemon oder z.B. systemd ... HTH, -dnh -- This report is filled with omissions. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
participants (4)
-
David Haller
-
Jürgen Hochwald
-
Manfred Kreisl
-
Marcus Roeckrath