Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f391593857 | |||
| 108ae35a06 | |||
| 2416a5a77e |
+1
-1
@@ -1 +1 @@
|
||||
0.9.4
|
||||
0.9.7
|
||||
|
||||
Executable
+57
@@ -0,0 +1,57 @@
|
||||
#!/bin/bash
|
||||
|
||||
Src=${1}
|
||||
Days=${2}
|
||||
|
||||
if [ -z "$Days" ] || [ -z "$Src" ]; then
|
||||
echo "Usage: $0 <source_dir> <num_days>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Add / if Src does not have it (symlinks)
|
||||
if [ "${Src: -1}" != "/" ]; then
|
||||
Src="${Src}/"
|
||||
fi
|
||||
|
||||
declare -A Settings=()
|
||||
Settings[Src]=${Src}
|
||||
Settings[PruneDate]=$(date -d "${Days} days ago" '+%Y-%m-%d')
|
||||
|
||||
src=${Settings[Src]}
|
||||
prune_date=${Settings[PruneDate]}
|
||||
|
||||
|
||||
echo "Finding files older than ${prune_date}..."
|
||||
Cmd="find ${src} -type f ! -newermt \"${prune_date}\""
|
||||
echo ${Cmd}
|
||||
files=($(eval ${Cmd}))
|
||||
total_files=${#files[*]}
|
||||
|
||||
if [[ ${total_files} == 0 ]]
|
||||
then
|
||||
echo "No files found to be pruned. Bye..."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo Before Pruning....
|
||||
duf ${src}
|
||||
|
||||
echo "The following files will be removed:"
|
||||
echo "===================================="
|
||||
for f in $files ; do ls -l $f; done
|
||||
echo "===================================="
|
||||
echo "Total files to be pruned: ${total_files}"
|
||||
|
||||
Cmd="${Cmd} -delete"
|
||||
echo ${Cmd}
|
||||
eval ${Cmd}
|
||||
|
||||
echo "Removing empty directories..."
|
||||
Cmd="find ${src} -type d -empty -print -delete"
|
||||
echo ${Cmd}
|
||||
eval ${Cmd}
|
||||
|
||||
echo After Pruning....
|
||||
duf ${src}
|
||||
|
||||
echo $0 Done
|
||||
Reference in New Issue
Block a user