Fallunterscheidung des Alters einer Datei

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
honky
Beiträge: 57
Registriert: 15.03.2009 16:28:56

Fallunterscheidung des Alters einer Datei

Beitrag von honky » 02.08.2018 19:33:29

Halllo,

ich möchte gerne eine E-Mail verschicken, wenn eine bestimmte Datei älter ist als z.B. 1 Minute. WIe kann ich das realisieren? Ich habe untenstehenden Code angefangen. Hat jemand eine Idee, wie ich diese Fallunterscheidung hinbekomme?

Code: Alles auswählen

#!/bin/bash
FILE=radar
if -f [ "$FILE" ] && -f [ "$FILE" -type -mmin -1 ] ;
then
echo "File $FILE is fresh"
else
echo "File $FILE is old"
fi
Viele Grüße
Gerik

Benutzeravatar
heisenberg
Beiträge: 3438
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Fallunterscheidung des Alters einer Datei

Beitrag von heisenberg » 02.08.2018 19:41:03

Mit date bekommst du die aktuelle Zeit, z. B. in Sekunden.

Mit stat bekommst Du alle möglichen Informationen über eine Datei. Auch das Datum der letzten Änderung in Sekunden.

Die Manpages der Befehle helfen Dir für die genaue Syntax.

Ansonsten ist Dein Ansatz auch fast richtig;

Code: Alles auswählen

if [ -f "$FILE" ]; then
   if find "$FILE" -mmin +1 | grep -q "$FILE"  ;then
      echo "File too old"
   fi
fi
Der andere Ansatz:

Code: Alles auswählen

last_minute="$(( $(date +"%s") - 60 ))"
file_age="$(stat -c "%Y" "$FILE")"
if [ $file_age -lt $last_minute ];then
   echo "File too old"
fi
... unterhält sich hier gelegentlich mangels wunschgemäßer Gesprächspartner mal mit sich selbst.

honky
Beiträge: 57
Registriert: 15.03.2009 16:28:56

Re: Fallunterscheidung des Alters einer Datei

Beitrag von honky » 02.08.2018 20:32:59

Hey cool, danke Dir! Funktioniert :-)

Antworten