16 lines
500 B
Bash
Executable File
16 lines
500 B
Bash
Executable File
#!/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 |