Headless CalibreServer einrichten

Posted by quark007 | Posted in Uncategorized | Posted on 31-12-2015-05-2008

0

In Zeiten von eBook-Readern und einfach zugänglichen eBooks, habe ich mich dazu entschieden auch diese zentral auf meinem Server zu verwalten. Es gibt zwar ein Calibre-Plugin für OpenMediaVault, ich wollte jedoch das einlesen neuer Bücher in die DB automatisieren. Über eine komplette Installation im System war das für mich einfacher. Dabei habe ich mit an den folgenden beiden Anleitungen entlang gehangelt:

Installation und Benutzung detailiert beschrieben (jedoch mit xvfb)

Einfache, kurze Beschreibung

Damit war es möglich Calibre als Service zu starten und somit auch den Webserver mit Zugriff auf die eBooks zu erreichen. Anschließend ging es noch darum, dass ebooks in einem definierten Ordner automatisch eingelesen und in das für den Paperwhite lesbare mobi-Format zu konvertieren. Mit Hilfe einiger Anleitungen ([1] [2] [3] kam ich schließlich zu folgendem Script:

#!/bin/bash

count=0
IFS='
'
#rename 's/[^a-zA-Z0-9]//'  *.pdf
for datei in `find  /media/[HDDID]/eBooks/_NewBooks  -name "*.epub" -print 2>/dev/null`
#find /media/[HDDID]/eBooks/_NewBooks/. -name "*.epub" -print0 | while IFS= read -r -d '' file;
do
        if [ -f ${datei%.epub}.mobi ]; then
            echo $datei" bereits convertiert"
        else
           echo "Die Datei $datei wird konvertiert..."
           ebook-convert  "$datei" "${datei%.epub}.mobi" >/dev/null 2>&1
           count=$((count+1))
        fi
done

if [ $count -gt 0 ]
then
IFS=''
        echo "Neue Bücher werden in die Bibliothek geladen"
        calibredb add /media/[HDDID]/eBooks/_NewBooks -r --with-library /media/957d350a-cf86-496a-bf57-cc4543527c5e/Public/eBooks/_calibre_library  >/de$
        sleep 1
        rm /media/[HDDID]/eBooks/_NewBooks/*  >/dev/null 2>&1
else
        echo "keine neuen Dateien gefunden"
fi

Das Script ist sicher noch nicht perfekt, da es erst alle Bücher konvertiert und anschließend erst in die Datenbank einliest. Dieses Script habe ich als calibre-converter.sh im Userverzeichnis abgelegt und über einen Cronjob alle 5 Minuten aufgerufen.

*/5 * * * * sh /root/calibre-converter.sh

Aktuell bin ich noch dabei zu versuchen ein Plugin in meinen Headless Calibre so zu integrieren, dass ich mir den vorhergehenden Schritt vor dem Integrieren in die Datenbank ersparen kann. Falls ich zu einem Ergebnis komme, gibts hier weitere Infos dazu.

Weitere infos:
AutoStart mit systemd

Write a comment


Warning: Undefined variable $user_ID in /home/web5wipjw/html/httpdocs/wordpress/wp-content/themes/Stripey/comments.php on line 57