Skip to content

Instantly share code, notes, and snippets.

@pulecp
Forked from codepunkt/rm-corrupt.sh
Last active March 31, 2016 09:49
Show Gist options
  • Save pulecp/7f68ac61cf0b717d8df5b564c18ae19b to your computer and use it in GitHub Desktop.
Save pulecp/7f68ac61cf0b717d8df5b564c18ae19b to your computer and use it in GitHub Desktop.
find/delete corrupt whisper-files
#!/bin/bash
options=('find' 'delete')
PS3='state your wish: '
echo -e "\nfind/delete corrupt whisper-files"
[ -x /bin/whisper-info ] || { echo '/bin/whisper-info does not exists or it is not executable'; exit 1; }
select opt in "${options[@]}"; do
case $REPLY in
[12] ) option=$opt; break;;
* ) exit;;
esac
done
if [ $option ]; then
matches=()
directory='/var/lib/carbon/whisper'
for file in $(find $directory -type f -name '*.wsp' -print); do
$(/bin/whisper-info $file > /dev/null 2>&1)
retval=$?
echo -en "\r\033[Kchecking $file"
[ $retval -ne 0 ] && matches+=($file)
done
if [ $option == 'find' ]; then
echo -en "\r\033[Klisting ${#matches[@]} corrupt files:\n"
for file in "${matches[@]}"; do
echo -e "- $file"
done
else
echo -en "\r\033[Kdeleting ${#matches[@]} corrupt files:\n"
for file in "${matches[@]}"; do
sudo rm $file && echo -e "- $file"
done
fi
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment