In a bash script I want to check if a file has been changed within the last 2 minutes.
I already found out that I can access the date of the last modification with <
Complete script to do what you're after:
#!/bin/sh
# Input file
FILE=/tmp/test.txt
# How many seconds before file is deemed "older"
OLDTIME=120
# Get current and file times
CURTIME=$(date +%s)
FILETIME=$(stat $FILE -c %Y)
TIMEDIFF=$(expr $CURTIME - $FILETIME)
# Check if file older
if [ $TIMEDIFF -gt $OLDTIME ]; then
echo "File is older, do stuff here"
fi
If you're on macOS, use stat -t %s -f %m $FILE for FILETIME, as in a comment by Alcanzar.