Add a maintenance script
This commit is contained in:
parent
7e6eb27c2e
commit
f505b012c4
|
@ -0,0 +1,46 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Usage: ./clean-fs.sh DIRECTORY
|
||||||
|
# Where DIRECTORY is the path of the directory to clean
|
||||||
|
|
||||||
|
if [ -z "${1}" ] ;then
|
||||||
|
echo "[$0] Missing DIRECTORY parameter. Exiting..."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
f="${1}"
|
||||||
|
result="$(file $f)"
|
||||||
|
if [[ $result == *"cannot open"* ]] || [[ $result != *"directory"* ]];then
|
||||||
|
echo "[$0] Directory not found (non-existing or is a file): ($result) ";
|
||||||
|
exit 1;
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "[$0] Directory found: $1"
|
||||||
|
|
||||||
|
echo "[$0] Listing files which ARE NOT video files..."
|
||||||
|
find $1 -maxdepth 10 -type f | grep -v -E "\.webm$|\.flv$|\.vob$|\.ogg$|\.ogv$|\.drc$|\.gifv$|\.mng$|\.avi$|\.mov$|\.qt$|\.wmv$|\.yuv$|\.rm$|\.rmvb$|/.asf$|\.amv$|\.mp4$|\.m4v$|\.mp*$|\.m?v$|\.svi$|\.3gp$|\.flv$|\.f4v$"
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
read -p "[$0] Do you want to REMOVE these files?" yn
|
||||||
|
case $yn in
|
||||||
|
[Yy]* ) find $1 -maxdepth 10 -type f | grep -v -E "\.webm$|\.flv$|\.vob$|\.ogg$|\.ogv$|\.drc$|\.gifv$|\.mng$|\.avi$|\.mov$|\.qt$|\.wmv$|\.yuv$|\.rm$|\.rmvb$|/.asf$|\.amv$|\.mp4$|\.m4v$|\.mp*$|\.m?v$|\.svi$|\.3gp$|\.flv$|\.f4v$" | xargs rm -f; break;;
|
||||||
|
[Nn]* ) echo "[$0] Skipping this part. Continuing...";;
|
||||||
|
* ) echo "[$0] Please answer yes or no.";;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "[$0] Listing subdirectories of $1 which have a size under 5 MB..."
|
||||||
|
find $1 -mindepth 1 -maxdepth 1 -type d -exec du -ks {} + | awk '$1 <= 5000' | cut -f 2-
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
read -p "[$0] Do you want to REMOVE these folders?" yn
|
||||||
|
case $yn in
|
||||||
|
[Yy]* ) find $1 -mindepth 1 -maxdepth 1 -type d -exec du -ks {} + | awk '$1 <= 5000' | cut -f 2- | xargs -d \\n rm -rf; break;;
|
||||||
|
[Nn]* ) echo "[$0] Skipping this part. Continuing...";;
|
||||||
|
* ) echo "[$0] Please answer yes or no.";;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "[$0] End of script."
|
||||||
|
|
||||||
|
exit 0
|
Loading…
Reference in New Issue