From ee4cd0474bd246585a48fa4b52a65961365c0fe0 Mon Sep 17 00:00:00 2001 From: Roland Strunze <1+xosna@noreply.localhost> Date: Sat, 23 May 2026 11:58:46 +0200 Subject: [PATCH] quick_update.sh aktualisiert --- quick_update.sh | 121 +++++++++++++++++++++++++++++------------------- 1 file changed, 73 insertions(+), 48 deletions(-) diff --git a/quick_update.sh b/quick_update.sh index 8bbef65..63c91ec 100644 --- a/quick_update.sh +++ b/quick_update.sh @@ -1,63 +1,88 @@ #!/bin/bash -# ========================================== +set -euo pipefail -# Dolibarr Quick Update Workflow +VERSION="23.0.3" -# Für Proxmox / Debian / Ubuntu +BACKUPDIR="/root/dolibarr-backup-$(date +%F-%H%M)" +INSTALLDIR="/usr/share/dolibarr" +OLDDIR="/usr/share/dolibarr-old" +TMPDIR="/tmp/dolibarr-update" -# ========================================== +echo "=== Dolibarr Update startet ===" -DATE=$(date +%Y-%m-%d_%H-%M") +mkdir -p "$BACKUPDIR" +mkdir -p "$TMPDIR" -# Anpassen +echo "=== Backup Dateien ===" -DOLI_PATH="/var/www/dolibarr" -BACKUP_DIR="/root/dolibarr-backups" -DB_NAME="dolibarr" -DB_USER="dbuser" +tar -czf "$BACKUPDIR/dolibarr-files.tar.gz" "$INSTALLDIR" -mkdir -p "$BACKUP_DIR" +echo "=== DB Daten auslesen ===" -clear +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 "====================================" -echo "Dolibarr Quick Update" -echo "====================================" +echo "=== SQL Backup ===" + +mysqldump -u "$DB_USER" -p"$DB_PASS" "$DB_NAME" \ + +> "$BACKUPDIR/dolibarr.sql" + +echo "=== install.lock entfernen ===" + +rm -f /var/lib/dolibarr/documents/install.lock + +echo "=== Download Dolibarr $VERSION ===" + +cd "$TMPDIR" + +wget +"https://sourceforge.net/projects/dolibarr/files/Dolibarr%20ERP-CRM/$VERSION/dolibarr-$VERSION.tgz/download" +-O dolibarr.tgz + +echo "=== Entpacken ===" + +tar -xzf dolibarr.tgz + +echo "=== Alte Installation sichern ===" + +rm -rf "$OLDDIR" +mv "$INSTALLDIR" "$OLDDIR" + +echo "=== Neue Version installieren ===" + +mv "$TMPDIR/dolibarr-$VERSION" "$INSTALLDIR" + +echo "=== Konfiguration übernehmen ===" + +cp /etc/dolibarr/conf.php +"$INSTALLDIR/htdocs/conf/" + +cp -r +"$OLDDIR/htdocs/custom" +"$INSTALLDIR/htdocs/" 2>/dev/null || true + +echo "=== Rechte setzen ===" + +chown -R www-data:www-data "$INSTALLDIR" +chown -R www-data:www-data /var/lib/dolibarr + +echo "=== Apache Neustart ===" + +systemctl restart apache2 + +echo "=== install.lock setzen ===" + +touch /var/lib/dolibarr/documents/install.lock echo "" -echo "[1/5] Datenbank sichern..." -mysqldump -u "$DB_USER" -p "$DB_NAME" \ - -> "$BACKUP_DIR/db_$DATE.sql" - +echo "================================" +echo "Update vorbereitet" echo "" -echo "[2/5] Dateien sichern..." -tar -czf -"$BACKUP_DIR/files_$DATE.tar.gz" -"$DOLI_PATH" - +echo "Browser öffnen:" +echo "/dolibarr/install" echo "" -echo "[3/5] Bitte Snapshot in Proxmox erstellen" -read -p "Weiter mit Enter..." - -echo "" -echo "[4/5] Vor dem Update prüfen:" -echo "- Wartungsmodus aktiv?" -echo "- Genug Speicherplatz?" -echo "- Backup vorhanden?" - -read -p "Weiter mit Enter..." - -echo "" -echo "[5/5] Nach dem Update prüfen:" -echo "- Login" -echo "- Rechnungen" -echo "- PDF" -echo "- Module" -echo "- Cronjobs" - -echo "" -echo "====================================" -echo "Quick Update abgeschlossen" -echo "====================================" +echo "DB Migration ausführen" +echo "================================"