quick_update.sh aktualisiert

This commit is contained in:
2026-05-23 14:38:11 +02:00
parent 1bf4563c7b
commit 83b6ce5b39
+48 -52
View File
@@ -2,28 +2,14 @@
set -euo pipefail 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" 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" INSTALLDIR="/usr/share/dolibarr"
OLDDIR="/usr/share/dolibarr-old" OLDDIR="/usr/share/dolibarr-old"
TMPDIR="/tmp/dolibarr-update" TMPDIR="/tmp/dolibarr-update"
clear
echo "=========================================" echo "========================================="
echo " Dolibarr Quick Update" echo " Dolibarr Quick Update"
echo "=========================================" echo "========================================="
@@ -40,70 +26,76 @@ mkdir -p "$BACKUPDIR"
echo "[3/10] Dateien sichern..." 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..." echo "[4/10] Datenbankdaten lesen..."
DB_NAME=$(grep dolibarr_main_db_name /etc/dolibarr/conf.php | cut -d"'" -f2) CONF="/etc/dolibarr/conf.php"
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) 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..." echo "[5/10] SQL Backup..."
mysqldump mariadb-dump
-u "$DB_USER" -u"$DB_USER"
-p"$DB_PASS" -p"$DB_PASS"
"$DB_NAME" \ "$DB_NAME" \
> "$BACKUPDIR/dolibarr.sql" > "$BACKUPDIR/dolibarr.sql"
echo "[6/10] install.lock entfernen..." echo "[6/10] Neue Dolibarr Version herunterladen..."
rm -f /var/lib/dolibarr/documents/install.lock
echo "[7/10] Dolibarr $VERSION herunterladen..."
cd "$TMPDIR" cd "$TMPDIR"
wget 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 -O dolibarr.tgz
echo "[8/10] Entpacken..." echo "[7/10] Entpacken..."
tar -xzf dolibarr.tgz tar -xzf dolibarr.tgz
echo "[9/10] Installation austauschen..." echo "[8/10] Alte Installation sichern..."
rm -rf "$OLDDIR" 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/" "$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 "$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 chown www-data:www-data
/var/lib/dolibarr/documents/install.lock /var/lib/dolibarr/documents/install.lock
@@ -111,15 +103,19 @@ chown www-data:www-data
chmod 644 chmod 644
/var/lib/dolibarr/documents/install.lock /var/lib/dolibarr/documents/install.lock
systemctl restart apache2
echo "" echo ""
echo "=========================================" echo "========================================="
echo "Update vorbereitet" echo " Update vorbereitet"
echo "========================================="
echo "" echo ""
echo "Backups gespeichert unter:" echo "Backup:"
echo "$BACKUPDIR" echo "$BACKUPDIR"
echo "" echo ""
echo "Jetzt im Browser öffnen:" echo "Jetzt im Browser öffnen:"
echo ""
echo "/dolibarr/install" echo "/dolibarr/install"
echo "" echo ""
echo "Danach Datenbankmigration durchführen" echo "Danach die Datenbankmigration ausführen."
echo "=========================================" echo ""