Man pages sections > man7 > podget

Podget - Simple tool to automate downloading of podcasts.

podget(7) podget(7)


Podget - Simple tool to automate downloading of podcasts.


podget <options> [command]
podget -h | --help



-c, --config <FILE>
Name of configuration file.
--create-config <FILE>
Create configuration file and exit.
-C, --cleanup
Skip downloading and only run cleanup loop.
--cleanup_days <NUMBER>
Cleanup files older than <NUMBER> days.
Simulate cleanup loop to see what files would be deleted.
-d, --dir_config <DIRECTORY>
Directory that configuration files are stored in.
--dir_session <DIRECTORY>
Directory that session files are stored in.
-f, --force
Force download of items from each feed even if they've already been downloaded.
--import_opml <FILE or URL>
Import servers from OPML file or HTTP/FTP URL.
--export_opml <FILE>
Export serverlist to OPML file.
--import_pcast <FILE or URL>
Import server from iTunes PCAST file or HTTP/FTP URL.
-l, --library <DIRECTORY>
Directory to store downloaded files in.
-n, --no-playlist
Do not create M3U playlist of new items.
-p, --playlist-asx
In addition to M3U playlists, create ASX playlists.
Create a playlist of new items for each podcast feed.
-r, --recent <COUNT>
Download only the <COUNT> newest items from each feed.
--serverlist <FILE>
Use <FILE> as serverlist instead of default.
-s, --silent
Run silently (for cron jobs).
Set verbosity to level 1.
Set verbosity to level 2.
Set verbosity to level 3.
Set verbosity to level 4.
--verbosity <LEVEL>
Set verbosity level (0-3).
-h, --help
Display help.


Once podget is running correctly, it's most useful if you run it from a cron job so that the new episodes are available to play or load onto a portable player and you don't have to wait for them to download.
To edit your crontab, do:
  $ crontab -e
Then insert one line (i for insert mode), like the following:
  15 04 * * * /usr/bin/podget -s
This will run podget at 4:15 AM every day.


You can enable automatic cleanup with every run by configuring it in your $HOME/. podget/podgetrc file. Simply set the following options:
  # Autocleanup.
  # 0 == disabled
  # 1 == delete any old content
# Number of days to keep files. Cleanup will remove anything # older than this. cleanup_days=7
However, some people prefer to run cleanup as a separate cron session. To do that, set the options in podgetrc to:
  # Autocleanup.
  # 0 == disabled
  # 1 == delete any old content
# Number of days to keep files. Cleanup will remove anything # older than this. cleanup_days=7
And add a cron job to run cleanup, like one of these examples:
  # Once a week on Sunday at 04:15AM
  15 04 * * Sun /usr/bin/podget -C


Podget checks for already running sessions when it starts and exits if any are found. Each session requires its own core configuration file, so for multiple sessions simply provide a unique -c <configfile> option for each.


By default, Podget uses $HOME/. podget/serverlist for the default list of servers to contact. However you can configure the name with the config_serverlist variable in your $HOME/. podget/podgetrc file.
The default format is: <url> <category> <name>
URL Rules: A. Any spaces in the URL need to be converted to %20
Category Rules:
Must be one word without spaces.
You may use underscores and dashes.
You can insert date substitutions.
== Year
== Month
== Day
Name Rules:
If you are creating ASX playlists, make sure the feed name does not have any spaces in it.
You can leave the feed name blank, and files will be saved in the category directory.
Disable the downloading of any feed by commenting it out with a #.
Examples: IT In the Trenches Linux LUG Radio Linux The Linux Link Philosophy BBC: In Our Time privacy Privacy Freaks privacy Digital Liberties
Example with date substitution in the category and a blank feed name. News-%YY%-%MM%-%DD%
Some servers provide their feeds in UTF-16 format rather than the more common UTF-8.
To automatically convert these files, create a secondary serverlist at:
Remember to change the name of the serverlist to match what you set it to with config_serverlist if you changed it.


Dave Vehrs
18 March 2017