Files
be.ems/misc/rmexpfiles.sh
2023-10-28 16:10:02 +08:00

16 lines
500 B
Bash

#!/bin/bash
# rm expired file with filename like *20231028111213.zip"
filepath=$1
duration=$2
find $filepath -maxdepth 1 -type f -name "*[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]*" -printf "%f\n" | while read filename; do
datestr=$(echo "$filename" | grep -oE '[0-9]{8}')
filedate=$(date -d "$datestr" +%s)
sevendaysago=$(date -d "$duration days ago" +%s)
if [ "$filedate" -lt "$sevendaysago" ]; then
rm -f "$filepath/$filename"
echo "rm file: $filename"
fi
done