#!/bin/bash set -e echo "=====================================" echo " Dolibarr Quick Update" echo "=====================================" echo "" read -p "Welche Dolibarr-Version soll installiert werden? Beispiel 23.0.3: " VERSION if [ -z "$VERSION" ]; then echo "FEHLER: Keine Version angegeben" exit 1 fi BACKUPDIR="/root/dolibarr-backup-$(date +%F-%H%M)" INSTALLDIR="/usr/share/dolibarr" OLDDIR="/usr/share/dolibarr-old" TMPDIR="/tmp/dolibarr-update" echo "" echo "=== Arbeitsverzeichnis vorbereiten ===" rm -rf "$TMPDIR" mkdir -p "$TMPDIR" mkdir -p "$BACKUPDIR" echo "" echo "=== Backup Dateien ===" tar -czf "$BACKUPDIR/dolibarr-files.tar.gz" "$INSTALLDIR" echo "" echo "=== DB Daten auslesen ===" DB_NAME=$(grep dolibarr_main_db_name /etc/dolibarr/conf.php | cut -d"'" -f2) DB_USER=$(grep dolibarr_main_db_user /etc/dolibarr/conf.php | cut -d"'" -f2) DB_PASS=$(grep dolibarr_main_db_pass /etc/dolibarr/conf.php | cut -d"'" -f2) echo "Datenbank:" echo "$DB_NAME" echo "" echo "=== SQL Backup ===" mariadb-dump -u"$DB_USER" -p"$DB_PASS" --databases "$DB_NAME" \ > "$BACKUPDIR/dolibarr.sql" echo "" echo "=== Download Dolibarr $VERSION ===" cd "$TMPDIR" wget -O dolibarr.tgz "https://sourceforge.net/projects/dolibarr/files/Dolibarr%20ERP-CRM/$VERSION/dolibarr-$VERSION.tgz/download" echo "" echo "=== Entpacken ===" tar -xzf dolibarr.tgz echo "" echo "=== Alte Installation sichern ===" rm -rf "$OLDDIR" mv "$INSTALLDIR" "$OLDDIR" echo "" echo "=== Neue Version installieren ===" mv "$TMPDIR/dolibarr-$VERSION" "$INSTALLDIR" echo "" echo "=== Konfiguration zurückkopieren ===" mkdir -p "$INSTALLDIR/htdocs/conf" cp /etc/dolibarr/conf.php "$INSTALLDIR/htdocs/conf/conf.php" echo "" echo "=== Rechte setzen ===" chown -R www-data:www-data "$INSTALLDIR" chown -R www-data:www-data /var/lib/dolibarr echo "" echo "=== Apache Neustart ===" systemctl restart apache2 echo "" echo "=== install.lock setzen ===" mkdir -p /var/lib/dolibarr/documents touch /var/lib/dolibarr/documents/install.lock chown www-data:www-data /var/lib/dolibarr/documents/install.lock chmod 644 /var/lib/dolibarr/documents/install.lock echo "" echo "=====================================" echo "Update vorbereitet" echo "=====================================" echo "" echo "Backup gespeichert unter:" echo "$BACKUPDIR" echo "" echo "Jetzt im Browser aufrufen:" echo "" echo "/dolibarr/install" echo "" echo "Danach Datenbankmigration durchführen" echo ""