Ich bin ein großer Fan der “Unterhaltung am Wochenende” auf WDR5. Mit Hilfe von CRON und streamripper stelle ich meinen Ubuntu-PC so ein, dass immer automatisch am Samstag zwischen 16:05 und 18:00 die neue Folge übers Internet aufgenommen wird.

Zunächst installiert man streamripper per

sudo apt-get install streamripper

Der Befehl für eine Aufnahme lautet:

streamripper URL-VOM-RADIOSTREAM -d /Pfad/zum/Speichern/ -l Länge_in_Sekunden > /dev/null 2>&1

Für WDR5 lautet der Befehl, um für 120 Minuten etwas aufzunehmen:

streamripper http://www.wdr.de/wdrlive/media/wdr5.m3u -d /home/produnis/Downloads/ -l 7200 > /dev/null 2>&1

Streamripper legt nun im Ordner /home/produnis/Downloads/ den Unterordner WDR5, © Westdeutscher Rundfunk Köln 2010/incomplete an. In diesem liegt die Datei “ - ´´.mp3”, welche unsere Aufnhame enthält. Leider ist der Dateiname etwas unschick, und darüber hinaus wird die Datei auch bei nachfolgenden Aufnahmen wieder überschrieben. Eine leichte Veränderung des Befehls nimmt sich dieser Sache an:

streamripper http://www.wdr.de/wdrlive/media/wdr5.m3u -l 7200 -a $(date +%d%b%Y-%H%M) -d /home/produnis/Desktop/ -s -A > /dev/null 2>&1

Der Parameter -a setzt einen eindeutigen Dateinamen (à la 26Apr-2055.mp3), dann wird nichts überschrieben. -s legt nicht für jede Aufnahme einen Ordner an und -A belässt die Aufnahme am Stück ohne einzelne Tracks (Danke an Gerhard für diesen Tip).

Ok, wie gesagt, das Ganze soll nun automatisch immer samstags ablaufen, sodass immer zwischen 16:03 und 18:00 Uhr WDR5 aufgenommen wird.

Im Terminal öffnet folgender Befehl die Cron-Tabelle des Benutzers:

crontab -e

Diese ist bei einer frischen Installation leer. Bei mir bekommt sie nun folgenden Inhalt:

SHELL=/bin/bash
PATH=/usr/local/bin:/usr/local/sbin:/sbin:/usr/sbin:/bin:/usr/bin:/home/produnis/bin

########################################
# min hour day mon wochentag   command #
########################################

# Unterhaltung am Wochenende aufnehmen
3 16 * * 6 streamripper http://www.wdr.de/wdrlive/media/wdr5.m3u -l 7200 -a $(date +\%d\%b\%Y-\%H\%M) -d /home/produnis/Desktop/ -s -A > /dev/null 2>&1
#-------------------------------------

ACHTUNG: Innerhalb von CRON werden die %-Zeichen als Zeilenumbruch interpretiert, und es kann zu Fehlern kommen! Daher wurde im $date-Bereich oben vor jedes %-Zeichen einen Backslash ‘\’ gesetzt!

Zu beachten ist zudem, dass crontab mit einer Leerzeile enden muss! (weitere Erklärungen zu CRON bietet dieser Wikiartikel)

Wer nicht manuell die crontab editieren möchte, findet mit GNOME-Schedule eine nette GUI.

Das war’s! Ab jetzt verpass ich keine Sendung mehr - sofern PC und Internet laufen… :-)