Podcast fever is here to stay. With the increase in popularity of podcasts due to satellite radio and iTunes broadcasting and listing them respectively, linux users are never short of cool tools for automating feed downloads. Our favorite, and probably the geekiest, is using cron and bashpodder to harvest the new recordings. Check bashpodder out at: BashPodder - the best podcatcher.
Installation is fairly simple. Obviously, you need to be familiar with the commandline. Copy the file “bashpodder.shell” to your /etc/cron.daily directory (at least that’s the directory in a standard Debian box). Rename bashpodder.shell to bashpodder (not necessary, but we wanted to keep consistent with the cron.daily files already there). Make it executable with “chmod 755 bashpodder”.
All the rss feeds that refer to the podcasts that you want to download are listed in the file bp.conf. Use a text editor to remove or add the URLs referring to the rss/xml files of interest.
If left alone, bashpodder will create dated directories in /etc/cron.daily with the mp3 files in them. If you don’t want this, then obviously you’ll need to edit bashpodder. In your favorite text editor, change the line:
datadir=$(date +%Y-%m-%d)
to
datadir=/home/podcasts/$(date +%Y-%m-%d)
or change /home/podcasts/ to wherever you want the files to exist. bashpodder will still create directories labeled with the date that it downloaded the files.
Be aware that the first time bashpodder runs, it WILL DOWNLOAD ALL THE FILES it has not done so previously. That means that if the rss/xml feed lists ALL its previous podcasts in its archive, then it will download every single one. Needless to say that this is quite time consuming (as well as bandwidth hogging). The podcasts that it has already downloaded will be marked in the podcast.log file, which serves as the log it checks before and after downloading.
You could create a podcast.log text file to begin with and put in the URLs pointing to the physical mp3 files in the enclosure tags, if you prefer that bashpodder not download those files.