Wir nutzen in der Bibliothek seit einigen Tagen den Viewer von Intranda. Wir importieren dabei die Daten über die hotplug-Funktion des System. Bei dieser Funktion ist es wichtig, dass zuerst das Verzeichnis mit den Bilddateien an die richtige Stelle kopiert wird und danach die beschreibenden xml-Dateien.
Im ersten Schritt werden die Verzeichnisdaten ausgelesen und in eine Textdatei geschrieben. Geplant war hierüber zu dokumentieren welche Dateien schon abgearbeitet
waren, falls der Server einmal mitten in der Abarbeitung unterbrochen wird.
Im Zweiten Schritt wird der Inhalt der Datei in jeweils ein Array eingelesen.
Es folgen darauf zwei Schleifen, welches für jedes Element des Array
die Rechte anpasst und es dann an die richtige Stelle kopiert.
In der ersten Schleife alle Verzeichnisse, in der zweiten Schleife alle xml-Dateien.
Der dritte Schritt löscht alle unnötigen Dateien vom System (u.a. das Homeverzeichnis des Benutzers für die Uploads).
So schaut es aus.
##Skript#!/bin/bash
# Listen erstellen
upload_user="/home/upload"
hotfolder="/opt/digiverso/viewer/hotfolder"
ls $upload_user |grep _tif >/tmp/list.bilder
ls $upload_user |grep .xml >/tmp/list.xml#einlesen
listbilder=`cat /tmp/list.bilder`
listxml=`cat /tmp/list.xml`
#in Variablen abarbeiten
#erst Verzeichnisse kopieren
for varbilder in $listbilder; do
chown -R tomcat7:tomcat7 $upload_user/$varbilder
cp -rp $upload_user/$varbilder $hotfolder/$varbilder
echo $upload_user/$varbilder "kopieren nach" $hotfolder/$varbilder >> /home/bloy/upload.log
done
#danach xml-Dateien kopieren
for varxml in $listxml; do
chown -R tomcat7:tomcat7 $upload_user/$varxml
cp -rp $upload_user/$varxml $hotfolder/$varxml
echo $upload_user/$varxml "kopieren nach" $hotfolder/$varxml >> /home/bloy/upload.log
done
#cleanup
rm -f /tmp/list.bilder
rm -f /tmp/list.xml
rm -rf /home/upload
mkdir /home/upload
chown -R upload:upload /home/upload/
nächster Artikel: Umzug eines Windows 7 mit parrallel installiertem Linux von Festplatte auf ssd folgt im Laufe des WE.