z6c - personal blog about topics

Christian Müller – Letzte Änderung: 05.12.2015 21:24 Uhr

Podcastverwaltung - Alle aktuellen Podcasts ins SyncFolder Hardlinken

Podcasts in einem Ordner als Hardlinks bereithalten, die ein anderes Script dann jeweils per rsync während dem Ladevorgang auf meinen MP3 Player in den Podcast Ordner wirft.

Die Podcasts sind bereits auf dem Rechner vorhanden. Heruntergeladen werden sie mit Podget per Cronjob. Wenige Minuten nach diesem läuft dann das folgende Script, irgendwann später steck ich den Player zum Laden an, er wird gemountet, es gibt nen rsync -> unmount -> Akku laden, morgens dann geladen und befüllt.

#!/bin/bash
#rm -rf "/data/MCP/SanSync/Podcast/WRINT/WRINT Alle/"
#mkdir "/data/MCP/SanSync/Podcast/WRINT/WRINT Alle/"

Podcasts="/data/MCP/Podcast/"
Sync="/data/MCP/SanSync/Podcast/"
days=30

PCs[0]="WRINT/WRINT_Alle"
PCs[1]="Favoriten/CRE"
PCs[2]="Favoriten/FreakShow"
PCs[3]="Favoriten/Logbuch_Netzpolitik"
PCs[4]="Favoriten/Alternativlos"
PCs[5]="Favoriten/SuS"
PCs[6]="Musik/DrumAndBassArena"
PCs[7]="Musik/UKFMusic"
PCs[8]="Wissenschaft/Minkorrekt"
PCs[9]="Wissenschaft/WRINT_Wissenschaft"
PCs[10]="Wissenschaft/Resonator"
PCs[11]="Wissenschaft/Sternengeschichten"
PCs[12]="Wissenschaft/Forschung_aktuell"
PCs[13]="Favoriten/NSFW"
PCs[14]="Radio/Feature-Deutschlandfunk"
PCs[15]="Alle/Chaosradio"

for pc in "${PCs[@]}"
do
    xsrc="$Podcasts$pc"
    xdst="$Sync$pc"
    echo
    #echo
    echo Podcast $pc
    #echo Source: $xsrc
    #echo Destination: $xdst
    #echo Lösche alten Kram.
    #echo
    if [ -d "$xdst" ]
    then
        vorher=`find "$xdst" | grep -v ".AppleDouble"`
        vorher_count=`find "$xdst" | grep -c"" -v ".AppleDouble"`
        echo rm -rf "$xdst/*" | sh
        #mkdir "$xdst"
        echo $xdst
    else
        vorher=Null
        echo Erstes Mal. Muss $xdst anlegen.
        mkdir "$xdst"
    fi
    find "$xsrc" -name "*.mp3" -mtime -$days -printf "%T+\t§%p\n" \
    | grep -v ".AppleDouble" \
    | sort -r \
    | awk -v xdst="$xdst" -v pc="$pc" -F"§" '{print "ln \""$2"\" \""xdst"/\""}' | sh
    nachher=`find "$xdst" | grep -v ".AppleDouble"`
    nachher_count=`find "$xdst" | grep -c"" -v ".AppleDouble"`
    echo $pc fertig. Neue Folgen:
    echo --- Neu: ---
    diff <(echo "$vorher") <(echo "$nachher") && echo --- Ende ---
    echo Gesamt: $nachher_count / $vorher_count
done

Dieses Script läuft per Cronjob alle 8h. Die Befüllung meines MP3 Players erfolgt dann durch ein beherztes

rsync -avb --size-only --delete --update /Volumes/MCP/SanSync/Podcast/ /Volumes/SD-MEDIA/Podcasts/SanSync

Kommentare / Diskussion: