quick_update.sh aktualisiert

This commit is contained in:
2026-05-23 12:35:41 +02:00
parent e11482fcf6
commit 9a1064c596
+61 -26
View File
@@ -2,6 +2,19 @@
set -euo pipefail 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" VERSION="23.0.3"
BACKUPDIR="/root/dolibarr-backup-$(date +%F-%H%M)" BACKUPDIR="/root/dolibarr-backup-$(date +%F-%H%M)"
@@ -9,66 +22,88 @@ INSTALLDIR="/usr/share/dolibarr"
OLDDIR="/usr/share/dolibarr-old" OLDDIR="/usr/share/dolibarr-old"
TMPDIR="/tmp/dolibarr-update" TMPDIR="/tmp/dolibarr-update"
echo "=== Dolibarr Quick Update startet ===" clear
echo "========================================="
echo " Dolibarr Quick Update"
echo "========================================="
echo ""
mkdir -p "$BACKUPDIR" mkdir -p "$BACKUPDIR"
rm -rf "$TMPDIR" rm -rf "$TMPDIR"
mkdir -p "$TMPDIR" mkdir -p "$TMPDIR"
echo "=== Backup Dateien ===" echo "[1/10] Backup Dateien..."
tar -czf "$BACKUPDIR/dolibarr-files.tar.gz" "$INSTALLDIR" tar -czf "$BACKUPDIR/dolibarr-files.tar.gz" "$INSTALLDIR"
echo "=== DB Daten auslesen ===" echo "[2/10] Datenbankdaten lesen..."
DB_NAME=$(grep dolibarr_main_db_name /etc/dolibarr/conf.php | cut -d"'" -f2) 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_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) DB_PASS=$(grep dolibarr_main_db_pass /etc/dolibarr/conf.php | cut -d"'" -f2)
echo "=== SQL Backup ===" echo "[3/10] SQL Backup..."
mysqldump -u "$DB_USER" -p"$DB_PASS" "$DB_NAME" > "$BACKUPDIR/dolibarr.sql" mysqldump -u "$DB_USER" -p"$DB_PASS" "$DB_NAME" \
echo "=== install.lock entfernen ===" > "$BACKUPDIR/dolibarr.sql"
echo "[4/10] install.lock entfernen..."
rm -f /var/lib/dolibarr/documents/install.lock rm -f /var/lib/dolibarr/documents/install.lock
echo "=== Download Dolibarr $VERSION ===" 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 "=== Entpacken ===" 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 tar -xzf dolibarr.tgz
echo "=== Alte Installation sichern ===" echo "[7/10] Alte Installation sichern..."
rm -rf "$OLDDIR" rm -rf "$OLDDIR"
mv "$INSTALLDIR" "$OLDDIR" mv "$INSTALLDIR" "$OLDDIR"
echo "=== Neue Version installieren ===" echo "[8/10] Neue Version installieren..."
mv "$TMPDIR/dolibarr-$VERSION" "$INSTALLDIR" mv "$TMPDIR/dolibarr-$VERSION" "$INSTALLDIR"
echo "=== Konfiguration übernehmen ===" echo "[9/10] Konfiguration übernehmen..."
cp /etc/dolibarr/conf.php "$INSTALLDIR/htdocs/conf/"
cp /etc/dolibarr/conf.php
"$INSTALLDIR/htdocs/conf/"
echo "=== Custom-Verzeichnis übernehmen, falls vorhanden ==="
if [ -d "$OLDDIR/htdocs/custom" ]; then if [ -d "$OLDDIR/htdocs/custom" ]; then
cp -a "$OLDDIR/htdocs/custom" "$INSTALLDIR/htdocs/" cp -a
"$OLDDIR/htdocs/custom"
"$INSTALLDIR/htdocs/"
fi fi
echo "=== Rechte setzen ===" echo "[10/10] Rechte setzen..."
chown -R www-data:www-data "$INSTALLDIR" chown -R www-data:www-data "$INSTALLDIR"
chown -R www-data:www-data /var/lib/dolibarr chown -R www-data:www-data /var/lib/dolibarr
echo "=== Apache Neustart ==="
systemctl restart apache2 systemctl restart apache2
echo "=== install.lock wieder setzen ==="
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 chown www-data:www-data
chmod 644 /var/lib/dolibarr/documents/install.lock /var/lib/dolibarr/documents/install.lock
chmod 644
/var/lib/dolibarr/documents/install.lock
echo "" echo ""
echo "=====================================" echo "========================================="
echo "Update vorbereitet." echo "Update vorbereitet"
echo "Jetzt im Browser aufrufen:"
echo "" echo ""
echo "Backups:"
echo "$BACKUPDIR"
echo ""
echo "Nächster Schritt:"
echo "/dolibarr/install" echo "/dolibarr/install"
echo "" echo ""
echo "Danach Datenbankmigration durchführen." echo "Danach Datenbankmigration ausführen"
echo "=====================================" echo "========================================="