prune_data added
This commit is contained in:
parent
bea5ae340a
commit
def3b94dbc
70
prune_data.sh
Executable file
70
prune_data.sh
Executable file
@ -0,0 +1,70 @@
|
|||||||
|
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
function usage {
|
||||||
|
echo -n "Usage: ${0}"
|
||||||
|
echo -n " -d <root_dir>"
|
||||||
|
echo -n " -D <older than time criteria> (example: '2 days ago')"
|
||||||
|
echo
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
echo Starting $0 $*
|
||||||
|
|
||||||
|
|
||||||
|
# ---------------- cmdline
|
||||||
|
while getopts "d:D:" opt; do
|
||||||
|
case ${opt} in
|
||||||
|
d )
|
||||||
|
RootDir=$OPTARG
|
||||||
|
;;
|
||||||
|
D )
|
||||||
|
DateCriteria=$OPTARG
|
||||||
|
;;
|
||||||
|
\? )
|
||||||
|
echo "Invalid option: -$OPTARG" >&2
|
||||||
|
usage
|
||||||
|
;;
|
||||||
|
: )
|
||||||
|
echo "Option -$OPTARG requires an argument." >&2
|
||||||
|
usage
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ "${RootDir}" == "" ] || [ "${DateCriteria}" == "" ] ; then
|
||||||
|
usage
|
||||||
|
fi
|
||||||
|
|
||||||
|
declare -A Settings=()
|
||||||
|
Settings[Src]=${RootDir}
|
||||||
|
Settings[PruneDate]=$(date -d "${DateCriteria}" '+%Y-%m-%d')
|
||||||
|
|
||||||
|
src=${Settings[Src]}
|
||||||
|
prune_date=${Settings[PruneDate]}
|
||||||
|
|
||||||
|
echo Before Pruning....
|
||||||
|
df -hT ${src}
|
||||||
|
|
||||||
|
echo "Finding files older than ${prune_date}..."
|
||||||
|
Cmd="find ${src} -type f ! -newermt \"${prune_date}\""
|
||||||
|
echo ${Cmd}
|
||||||
|
files=($(eval ${Cmd}))
|
||||||
|
echo "Total files to be pruned: ${#files[*]}"
|
||||||
|
|
||||||
|
for file in "${files[@]}" ; do
|
||||||
|
Cmd="rm -f ${file}"
|
||||||
|
echo ${Cmd}
|
||||||
|
eval ${Cmd}
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "Removing empty directories..."
|
||||||
|
Cmd="find ${src} -type d -empty -print -delete"
|
||||||
|
echo ${Cmd}
|
||||||
|
eval ${Cmd}
|
||||||
|
|
||||||
|
echo After Pruning....
|
||||||
|
df -hT ${src}
|
||||||
|
|
||||||
|
echo $0 Done
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user