Files
Dolibarr-Update/quick_update.sh
T
2026-05-23 15:06:00 +02:00

119 lines
2.5 KiB
Bash

#!/bin/bash
set -euo pipefail
VERSION="23.0.3"
DATE=$(date +"%Y-%m-%d_%H-%M-%S")
BACKUPDIR="/root/dolibarr-backup-$DATE"
INSTALLDIR="/usr/share/dolibarr"
OLDDIR="/usr/share/dolibarr-old"
TMPDIR="/tmp/dolibarr-update"
CONF="/etc/dolibarr/conf.php"
echo "========================================="
echo " Dolibarr Quick Update"
echo "========================================="
echo ""
echo "[1/10] Arbeitsverzeichnis vorbereiten..."
rm -rf "$TMPDIR"
mkdir -p "$TMPDIR"
echo "[2/10] Backup-Verzeichnis erstellen..."
mkdir -p "$BACKUPDIR"
echo "[3/10] Dateien sichern..."
if [ ! -d "$INSTALLDIR" ]; then
echo "FEHLER: Dolibarr Verzeichnis nicht gefunden:"
echo "$INSTALLDIR"
exit 1
fi
tar -czf "$BACKUPDIR/dolibarr-files.tar.gz" "$INSTALLDIR"
echo "[4/10] Datenbankdaten lesen..."
if [ ! -f "$CONF" ]; then
echo "FEHLER: conf.php nicht gefunden:"
echo "$CONF"
exit 1
fi
DB_NAME=$(grep dolibarr_main_db_name "$CONF" | cut -d"'" -f2)
DB_USER=$(grep dolibarr_main_db_user "$CONF" | cut -d"'" -f2)
DB_PASS=$(grep dolibarr_main_db_pass "$CONF" | cut -d"'" -f2)
if [ -z "$DB_NAME" ] || [ -z "$DB_USER" ]; then
echo "FEHLER: Datenbankdaten konnten nicht gelesen werden"
exit 1
fi
echo "DB Name: $DB_NAME"
echo "DB User: $DB_USER"
echo "[5/10] SQL Backup..."
mariadb-dump -u"$DB_USER" -p"$DB_PASS" --databases "$DB_NAME" > "$BACKUPDIR/dolibarr.sql"
echo "[6/10] Neue Version herunterladen..."
cd "$TMPDIR"
wget
https://sourceforge.net/projects/dolibarr/files/Dolibarr%20ERP-CRM/$VERSION/dolibarr-$VERSION.tgz/download
-O dolibarr.tgz
echo "[7/10] Entpacken..."
tar -xzf dolibarr.tgz
echo "[8/10] Alte Installation sichern..."
rm -rf "$OLDDIR"
mv "$INSTALLDIR" "$OLDDIR"
mv "$TMPDIR/dolibarr-$VERSION" "$INSTALLDIR"
echo "[9/10] Konfiguration kopieren..."
mkdir -p "$INSTALLDIR/htdocs/conf"
cp "$CONF" "$INSTALLDIR/htdocs/conf/"
chown -R www-data:www-data "$INSTALLDIR"
chown -R www-data:www-data /var/lib/dolibarr
echo "[10/10] 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
systemctl restart apache2
echo ""
echo "========================================="
echo "Update vorbereitet"
echo "========================================="
echo ""
echo "Backup:"
echo "$BACKUPDIR"
echo ""
echo "Danach im Browser öffnen:"
echo ""
echo "/dolibarr/install"
echo ""
echo "Datenbankmigration durchführen"
echo ""