Page 1 of 1
[Linux] Cleanup-script (Bash)
Posted: July 22nd, 2010, 11:04 am
by jocke
I've used SABnzbd on Windows for a while, and I've used a cleanup-script on most of my downloads, to remove files like .nfo, .srr, etc. I used a modified version of the script found
here.
Now I'm moving to Linux, and I didn't find any cleanup-scripts for it, so I made one, and thought I'd share it. Nothing fancy, but quite handy.
cleanup.sh
Code: Select all
#!/bin/sh
filecount=0
nzbcount=0
sfvcount=0
nfocount=0
subcount=0
idxcount=0
srrcount=0
echo "This cleanup is intended for TV-shows."
echo ""
echo "Cleaning up download directory: $1"
echo ""
echo "Deleting .nzb-files"
nzbcount=`find $1 -type f -name "*.nzb" -exec bash -c "rm -vf '{}'" \; | wc -l`
echo "Deleting .sfv-files"
sfvcount=`find $1 -type f -name "*.sfv" -exec bash -c "rm -vf '{}'" \; | wc -l`
echo "Deleting .nfo-files"
nfocount=`find $1 -type f -name "*.nfo" -exec bash -c "rm -vf '{}'" \; | wc -l`
echo "Deleting subtitle-files"
subcount=`find $1 -type f -name "*.sub" -exec bash -c "rm -vf '{}'" \; | wc -l`
subcount=$[$subcount+`find $1 -type f -name "*.srt" -exec bash -c "rm -vf '{}'" \; | wc -l`]
echo "Deleting .idx-files"
idxcount=`find $1 -type f -name "*.idx" -exec bash -c "rm -vf '{}'" \; | wc -l`
echo "Deleting .srr-files"
srrcount=`find $1 -type f -name "*.srr" -exec bash -c "rm -vf '{}'" \; | wc -l`
let filecount=$nzbcount+$sfvcount+$nfocount+$subcount+$idxcount+$srrcount
echo ""
echo "Cleanup completed."
echo "Deleted $filecount files ($nzbcount .nzb, $sfvcount .sfv, $nfocount .nfo, $subcount subtitle-files, $idxcount .idx, $srrcount .srr)."
Re: [Linux] Cleanup-script
Posted: July 23rd, 2010, 12:36 am
by J03 8LACK
Hey Jockie,
Your Script is great for cleaning unwanted files. I've been looking for a little help with a cleanup script. problem examples below
Movie Name/cover/*.jpg
Movie Name/CD1/*cd1.avi
Movie Name/CD2/*cd2.avi
or
Movie Name/Movie/*.avi
I want
Movie Name/*.avi
I have to manually move the avi around and delete folders. A script would be great
Any info would be great
J03
Re: [Linux] Cleanup-script
Posted: July 27th, 2010, 2:45 pm
by binhex
J03 8LACK wrote:
Hey Jockie,
Your Script is great for cleaning unwanted files. I've been looking for a little help with a cleanup script. problem examples below
Movie Name/cover/*.jpg
Movie Name/CD1/*cd1.avi
Movie Name/CD2/*cd2.avi
or
Movie Name/Movie/*.avi
I want
Movie Name/*.avi
I have to manually move the avi around and delete folders. A script would be great
Any info would be great
J03
hi joe, i see your still looking into a post processing script to tidy things up, as i mentioned i have such a script which does the above (plus quite a bit more), here is the link to the source code, take a look over it it might help:-
http://www.mediafire.com/?8dada7x99mmmwj1
just to detail what this script does:-
deletes files smaller than certain size
copies movie files based on file type e.g. avi, mkv, mp4
deletes unwanted subfolders, think you might like this one joe
copies metadata to movie destination
copies coverart to movie destination
deletes nzb file from nzb folder (normally archived nzb.gz files)
deletes sd movie if hd movie downloaded
marks movie with _encode_ if movie over certain size (useful if you want to shrink)
if this script becomes popular i may put some more effort in and tidy it up, as it is its fiarly rough and ready but does do the job.
enjoy.
binhex.
Re: [Linux] Cleanup-script
Posted: July 27th, 2010, 6:31 pm
by J03 8LACK
Binhex
Thanks I will Take a Look
J03
Re: [Linux] Cleanup-script
Posted: August 7th, 2010, 3:03 pm
by bcos
Thanks for sharing this script! I've been meaning to find a post-processing script to do just this. However, the script says it is unable to find the right directory. Here is an example error:
Cleaning up download directory: /media/Movies/Movies/Movie Title (2010)
Deleting .nzb-files
find: `/media/Movies/Movies/Movie': No such file or directory
find: `Title': No such file or directory
find: `(2010)': No such file or directory
It seems that spaces in the directory names aren't appreciated. Any work around for this issue (that doesn't involve removing the spaces)?
Thanks
Re: [Linux] Cleanup-script
Posted: September 1st, 2010, 5:12 am
by WBFT
Great script, but it doesn't work with spaces in directories. This is a problem for me.
Code: Select all
Rescue Me - 6x10 - A.D.D
This cleanup is intended for TV-shows.
Cleaning up download directory: /volume1/video/TV-Shows/Rescue Me/Season 6
Deleting .nzb-files
find: /volume1/video/TV-Shows/Rescue: No such file or directory
find: Me/Season: No such file or directory
find: 6: No such file or directory
Deleting .sfv-files
find: /volume1/video/TV-Shows/Rescue: No such file or directory
find: Me/Season: No such file or directory
find: 6: No such file or directory
Deleting .nfo-files
find: /volume1/video/TV-Shows/Rescue: No such file or directory
find: Me/Season: No such file or directory
find: 6: No such file or directory
Deleting subtitle-files
find: /volume1/video/TV-Shows/Rescue: No such file or directory
find: Me/Season: No such file or directory
find: 6: No such file or directory
find: /volume1/video/TV-Shows/Rescue: No such file or directory
find: Me/Season: No such file or directory
find: 6: No such file or directory
Deleting .idx-files
find: /volume1/video/TV-Shows/Rescue: No such file or directory
find: Me/Season: No such file or directory
find: 6: No such file or directory
Deleting .srr-files
find: /volume1/video/TV-Shows/Rescue: No such file or directory
find: Me/Season: No such file or directory
find: 6: No such file or directory
/var/packages/sab2/scripts/cleanup: let: line 46: expression expected
Cleanup completed.
Deleted 0+0+0+$[0+0]+0+0 files (0 .nzb, 0 .sfv,
0 .nfo, $[0+0] subtitle-files, 0 .idx, 0
.srr).
Someone with a solution??
Re: [Linux] Cleanup-script
Posted: January 21st, 2011, 11:13 pm
by jocke
I'm not using this post-script anymore, but the following modified script should work just fine even if the folder/filename contain spaces;
Code: Select all
#!/bin/sh
filecount=0
nzbcount=0
sfvcount=0
nfocount=0
subcount=0
idxcount=0
srrcount=0
echo "This cleanup is intended for TV-shows."
echo ""
echo "Cleaning up download directory: $1"
echo ""
echo "Deleting .nzb-files"
nzbcount=`find $1 -type f -name "*.nzb" -exec bash -c "rm -vf '{}'" \; | wc -l`
echo "Deleting .sfv-files"
sfvcount=`find $1 -type f -name "*.sfv" -exec bash -c "rm -vf '{}'" \; | wc -l`
echo "Deleting .nfo-files"
nfocount=`find $1 -type f -name "*.nfo" -exec bash -c "rm -vf '{}'" \; | wc -l`
echo "Deleting subtitle-files"
subcount=`find $1 -type f -name "*.sub" -exec bash -c "rm -vf '{}'" \; | wc -l`
subcount=$[$subcount+`find $1 -type f -name "*.srt" -exec bash -c "rm -vf '{}'" \; | wc -l`]
echo "Deleting .idx-files"
idxcount=`find $1 -type f -name "*.idx" -exec bash -c "rm -vf '{}'" \; | wc -l`
echo "Deleting .srr-files"
srrcount=`find $1 -type f -name "*.srr" -exec bash -c "rm -vf '{}'" \; | wc -l`
let filecount=$nzbcount+$sfvcount+$nfocount+$subcount+$idxcount+$srrcount
echo ""
echo "Cleanup completed."
echo "Deleted $filecount files ($nzbcount .nzb, $sfvcount .sfv, $nfocount .nfo, $subcount subtitle-files, $idxcount .idx, $srrcount .srr)."
Re: [Linux] Cleanup-script (Bash)
Posted: February 4th, 2011, 9:30 am
by Mar2zz
When you make functions of it it's easier to add it to other postprocessingscripts in bash. Use for file in list do action done makes this easier to edit.
example:
Code: Select all
Cleanup () { #### Remove unwanted files
GARBAGE=".nfo .srr .sfv .nzb .jpg" #### Add or remove extensions here
for junk in $GARBAGE
do
find $1 -name *$junk -type f -exec rm -f {} \;
done
}
Cleanup