Hier ein einfaches Update-Script für den Hibiscus-Server. Ist wirklich noch eine frühe Version und es fehlt z.B. noch die Funktionalität aus Olaf's Release URL die aktuelle Version herauszulesen und mit der aktuell installierten zu vergleichen. Zumindest werden nur die Dateien neueren Datums überschrieben, bzw. wenn im /cfg Verzeichnis *properties Dateien vorhanden sind, werden diese nicht überschrieben. So merkt das Script ob frisch installieren angesagt ist oder eben nur updaten. Der Download wird auch anhand der SHA Prüfsumme gechecked ... evtl. hat ja jemand Interesse an der Weiterentwicklung mitzuarbeiten.
#!/bin/bash
#
# Hibiscus-Server Installer / Updater
hibiscus_server_instdir="/opt"
hibiscus_server_home="hibiscus-server"
hibiscus_server_path=$hibiscus_server_instdir"/"$hibiscus_server_home
hibiscus_server_version="2.6.12"
hibiscus_server_url="http://www.willuhn.de/products/hibiscus-server/releases/hibiscus-server-"
hibiscus_server_inst_tmp=$(mktemp -d --tmpdir hibiscussrvinst.XXXXXXXX) || { echo "Fehler beim anlegen des Temp-Dir."; exit 1; }
wget -P $hibiscus_server_inst_tmp/ $hibiscus_server_url$hibiscus_server_version.zip.SHA
wget -P $hibiscus_server_inst_tmp/ $hibiscus_server_url$hibiscus_server_version.zip
file_sha=$(sha1sum -b $hibiscus_server_inst_tmp/"hibiscus-server-"$hibiscus_server_version.zip | sed -r 's/(.{40}).*/\1/')
test_sha=$(cat $hibiscus_server_inst_tmp/"hibiscus-server-"$hibiscus_server_version.zip.SHA | sed -r 's/(.{40}).*/\1/')
[ "$file_sha" == "$test_sha" ] || { echo "Checksumme stimmt nicht, Download fehlerhaft. Abbruch!"; exit 1; }
files=$(find $hibiscus_server_path/cfg/*properties) >dev/null 2>&1
if [ $? -gt 0 ]; then
unzip -Xu $hibiscus_server_inst_tmp/hibiscus-server-$hibiscus_server_version.zip -d $hibiscus_server_instdir
else
unzip -Xu $hibiscus_server_inst_tmp/hibiscus-server-$hibiscus_server_version.zip -x *properties -d $hibiscus_server_instdir
fi
rm -fr $hibiscus_server_inst_tmp
Viele Grüße
Christian B. Caldarone
Code
#!/bin/bash
#
# Hibiscus-Server Installer / Updater
hibiscus_server_instdir="/opt"
hibiscus_server_home="hibiscus-server"
hibiscus_server_path=$hibiscus_server_instdir"/"$hibiscus_server_home
hibiscus_server_version="2.6.12"
hibiscus_server_url="http://www.willuhn.de/products/hibiscus-server/releases/hibiscus-server-"
hibiscus_server_inst_tmp=$(mktemp -d --tmpdir hibiscussrvinst.XXXXXXXX) || { echo "Fehler beim anlegen des Temp-Dir."; exit 1; }
wget -P $hibiscus_server_inst_tmp/ $hibiscus_server_url$hibiscus_server_version.zip.SHA
wget -P $hibiscus_server_inst_tmp/ $hibiscus_server_url$hibiscus_server_version.zip
file_sha=$(sha1sum -b $hibiscus_server_inst_tmp/"hibiscus-server-"$hibiscus_server_version.zip | sed -r 's/(.{40}).*/\1/')
test_sha=$(cat $hibiscus_server_inst_tmp/"hibiscus-server-"$hibiscus_server_version.zip.SHA | sed -r 's/(.{40}).*/\1/')
[ "$file_sha" == "$test_sha" ] || { echo "Checksumme stimmt nicht, Download fehlerhaft. Abbruch!"; exit 1; }
files=$(find $hibiscus_server_path/cfg/*properties) >dev/null 2>&1
if [ $? -gt 0 ]; then
unzip -Xu $hibiscus_server_inst_tmp/hibiscus-server-$hibiscus_server_version.zip -d $hibiscus_server_instdir
else
unzip -Xu $hibiscus_server_inst_tmp/hibiscus-server-$hibiscus_server_version.zip -x *properties -d $hibiscus_server_instdir
fi
rm -fr $hibiscus_server_inst_tmp
Viele Grüße
Christian B. Caldarone