Files
Dolibarr-Update/quick_update.sh
T
2026-05-23 12:35:41 +02:00

110 lines
2.4 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
set -euo pipefail
# ==========================================
# Dolibarr Quick Update Script
# ==========================================
# Automatisch sudo anfordern
if [ "$EUID" -ne 0 ]; then
echo "Root-Rechte erforderlich starte mit sudo..."
exec sudo bash "$0" "$@"
fi
VERSION="23.0.3"
BACKUPDIR="/root/dolibarr-backup-$(date +%F-%H%M)"
INSTALLDIR="/usr/share/dolibarr"
OLDDIR="/usr/share/dolibarr-old"
TMPDIR="/tmp/dolibarr-update"
clear
echo "========================================="
echo " Dolibarr Quick Update"
echo "========================================="
echo ""
mkdir -p "$BACKUPDIR"
rm -rf "$TMPDIR"
mkdir -p "$TMPDIR"
echo "[1/10] Backup Dateien..."
tar -czf "$BACKUPDIR/dolibarr-files.tar.gz" "$INSTALLDIR"
echo "[2/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)
echo "[3/10] SQL Backup..."
mysqldump -u "$DB_USER" -p"$DB_PASS" "$DB_NAME" \
> "$BACKUPDIR/dolibarr.sql"
echo "[4/10] install.lock entfernen..."
rm -f /var/lib/dolibarr/documents/install.lock
echo "[5/10] Download Dolibarr $VERSION..."
cd "$TMPDIR"
wget
"https://sourceforge.net/projects/dolibarr/files/Dolibarr%20ERP-CRM/$VERSION/dolibarr-$VERSION.tgz/download"
-O dolibarr.tgz
echo "[6/10] Entpacken..."
tar -xzf dolibarr.tgz
echo "[7/10] Alte Installation sichern..."
rm -rf "$OLDDIR"
mv "$INSTALLDIR" "$OLDDIR"
echo "[8/10] Neue Version installieren..."
mv "$TMPDIR/dolibarr-$VERSION" "$INSTALLDIR"
echo "[9/10] Konfiguration übernehmen..."
cp /etc/dolibarr/conf.php
"$INSTALLDIR/htdocs/conf/"
if [ -d "$OLDDIR/htdocs/custom" ]; then
cp -a
"$OLDDIR/htdocs/custom"
"$INSTALLDIR/htdocs/"
fi
echo "[10/10] Rechte setzen..."
chown -R www-data:www-data "$INSTALLDIR"
chown -R www-data:www-data /var/lib/dolibarr
systemctl restart apache2
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 "Backups:"
echo "$BACKUPDIR"
echo ""
echo "Nächster Schritt:"
echo "/dolibarr/install"
echo ""
echo "Danach Datenbankmigration ausführen"
echo "========================================="