From 83b6ce5b3985a2fab56eac4a80b91f5b80d345bc Mon Sep 17 00:00:00 2001 From: Roland Strunze <1+xosna@noreply.localhost> Date: Sat, 23 May 2026 14:38:11 +0200 Subject: [PATCH] quick_update.sh aktualisiert --- quick_update.sh | 100 +++++++++++++++++++++++------------------------- 1 file changed, 48 insertions(+), 52 deletions(-) diff --git a/quick_update.sh b/quick_update.sh index c74b67a..b0f153b 100644 --- a/quick_update.sh +++ b/quick_update.sh @@ -2,28 +2,14 @@ set -euo pipefail -# ========================================== - -# Dolibarr Quick Update Script - -# ========================================== - -# Root-Rechte automatisch anfordern - -if [ "$EUID" -ne 0 ]; then -echo "Root-Rechte erforderlich – starte mit sudo..." -exec sudo bash "$0" "$@" -fi - VERSION="23.0.3" +DATE=$(date +"%Y-%m-%d_%H-%M-%S") -BACKUPDIR="/root/dolibarr-backup-$(date +%F-%H%M)" +BACKUPDIR="/root/dolibarr-backup-$DATE" INSTALLDIR="/usr/share/dolibarr" OLDDIR="/usr/share/dolibarr-old" TMPDIR="/tmp/dolibarr-update" -clear - echo "=========================================" echo " Dolibarr Quick Update" echo "=========================================" @@ -40,70 +26,76 @@ mkdir -p "$BACKUPDIR" echo "[3/10] Dateien sichern..." -tar -czf "$BACKUPDIR/dolibarr-files.tar.gz" "$INSTALLDIR" +tar -czf +"$BACKUPDIR/dolibarr-files.tar.gz" +"$INSTALLDIR" echo "[4/10] Datenbankdaten lesen..." -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) +CONF="/etc/dolibarr/conf.php" + +if [ ! -f "$CONF" ]; then +echo "FEHLER: Dolibarr Konfiguration nicht gefunden!" +exit 1 +fi + +DB_NAME=$(grep "dolibarr_main_db_name" "$CONF" | sed "s/.*='(.*)'.*/\1/") +DB_USER=$(grep "dolibarr_main_db_user" "$CONF" | sed "s/.*='(.*)'.*/\1/") +DB_PASS=$(grep "dolibarr_main_db_pass" "$CONF" | sed "s/.*='(.*)'.*/\1/") + +if [ -z "$DB_NAME" ] || [ -z "$DB_USER" ]; then +echo "FEHLER: Datenbankdaten konnten nicht gelesen werden!" +exit 1 +fi echo "[5/10] SQL Backup..." -mysqldump --u "$DB_USER" +mariadb-dump +-u"$DB_USER" -p"$DB_PASS" "$DB_NAME" \ > "$BACKUPDIR/dolibarr.sql" -echo "[6/10] install.lock entfernen..." - -rm -f /var/lib/dolibarr/documents/install.lock - -echo "[7/10] Dolibarr $VERSION herunterladen..." +echo "[6/10] Neue Dolibarr Version herunterladen..." cd "$TMPDIR" wget -"https://sourceforge.net/projects/dolibarr/files/Dolibarr%20ERP-CRM/$VERSION/dolibarr-$VERSION.tgz/download" +https://sourceforge.net/projects/dolibarr/files/Dolibarr%20ERP-CRM/$VERSION/dolibarr-$VERSION.tgz/download -O dolibarr.tgz -echo "[8/10] Entpacken..." +echo "[7/10] Entpacken..." tar -xzf dolibarr.tgz -echo "[9/10] Installation austauschen..." +echo "[8/10] Alte Installation sichern..." rm -rf "$OLDDIR" -mv "$INSTALLDIR" "$OLDDIR" +mv +"$INSTALLDIR" +"$OLDDIR" -mv "$TMPDIR/dolibarr-$VERSION" "$INSTALLDIR" +mv +"$TMPDIR/dolibarr-$VERSION" +"$INSTALLDIR" -echo "[10/10] Konfiguration übernehmen..." +echo "[9/10] Konfiguration und Rechte setzen..." -cp /etc/dolibarr/conf.php +cp +/etc/dolibarr/conf.php "$INSTALLDIR/htdocs/conf/" -if [ -d "$OLDDIR/htdocs/custom" ]; then -cp -a -"$OLDDIR/htdocs/custom" -"$INSTALLDIR/htdocs/" -fi - -echo "Setze Berechtigungen..." - chown -R www-data:www-data "$INSTALLDIR" -chown -R www-data:www-data /var/lib/dolibarr -echo "Apache neu starten..." +chown -R www-data:www-data +/var/lib/dolibarr -systemctl restart apache2 +echo "[10/10] install.lock setzen..." -echo "install.lock wieder erstellen..." - -touch /var/lib/dolibarr/documents/install.lock +touch +/var/lib/dolibarr/documents/install.lock chown www-data:www-data /var/lib/dolibarr/documents/install.lock @@ -111,15 +103,19 @@ chown www-data:www-data chmod 644 /var/lib/dolibarr/documents/install.lock +systemctl restart apache2 + echo "" echo "=========================================" -echo "Update vorbereitet" +echo " Update vorbereitet" +echo "=========================================" echo "" -echo "Backups gespeichert unter:" +echo "Backup:" echo "$BACKUPDIR" echo "" echo "Jetzt im Browser öffnen:" +echo "" echo "/dolibarr/install" echo "" -echo "Danach Datenbankmigration durchführen" -echo "=========================================" +echo "Danach die Datenbankmigration ausführen." +echo ""