From 02704933876b0c0df4915d3a3b3fc9b6c44f55fa Mon Sep 17 00:00:00 2001 From: Roland Strunze <1+xosna@noreply.localhost> Date: Sat, 23 May 2026 15:12:16 +0200 Subject: [PATCH] quick_update.sh aktualisiert --- quick_update.sh | 120 ++++++++++++++++-------------------------------- 1 file changed, 40 insertions(+), 80 deletions(-) diff --git a/quick_update.sh b/quick_update.sh index 7718ecc..fec7cc8 100644 --- a/quick_update.sh +++ b/quick_update.sh @@ -1,118 +1,78 @@ +sudo tee /usr/local/bin/update-dolibarr.sh > /dev/null << 'EOF' #!/bin/bash set -e VERSION="23.0.3" - -DATE=$(date +"%Y-%m-%d_%H-%M-%S") -BACKUPDIR="/root/dolibarr-backup-$DATE" +BACKUPDIR="/root/dolibarr-backup-$(date +%F-%H%M)" 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 "=== Dolibarr Update startet ===" -echo "[1/10] Arbeitsverzeichnis vorbereiten..." -rm -rf "$TMPDIR" -mkdir -p "$TMPDIR" +mkdir -p $BACKUPDIR +mkdir -p $TMPDIR -echo "[2/10] Backup-Verzeichnis erstellen..." -mkdir -p "$BACKUPDIR" +echo "=== Backup Dateien ===" +tar -czf $BACKUPDIR/dolibarr-files.tar.gz $INSTALLDIR -echo "[3/10] Dateien sichern..." +echo "=== DB Daten auslesen ===" -if [ ! -d "$INSTALLDIR" ]; then -echo "FEHLER:" -echo "$INSTALLDIR nicht gefunden" -exit 1 -fi +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) -tar -czf "$BACKUPDIR/dolibarr-files.tar.gz" "$INSTALLDIR" +echo "=== SQL Backup ===" -echo "[4/10] Datenbankdaten lesen..." +mysqldump -u $DB_USER -p$DB_PASS $DB_NAME \ +> $BACKUPDIR/dolibarr.sql -if [ ! -f "$CONF" ]; then -echo "FEHLER:" -echo "$CONF nicht gefunden" -exit 1 -fi +echo "=== Download Dolibarr $VERSION ===" -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) +cd $TMPDIR -if [ -z "$DB_NAME" ]; then -echo "FEHLER: Datenbankname leer" -exit 1 -fi +wget https://sourceforge.net/projects/dolibarr/files/Dolibarr%20ERP-CRM/$VERSION/dolibarr-$VERSION.tgz/download -O dolibarr.tgz -echo "DB: $DB_NAME" - -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" - -DOWNLOAD_URL="https://sourceforge.net/projects/dolibarr/files/Dolibarr%20ERP-CRM/${VERSION}/dolibarr-${VERSION}.tgz/download" - -wget -O dolibarr.tgz "$DOWNLOAD_URL" - -echo "[7/10] Entpacken..." +echo "=== Entpacken ===" tar -xzf dolibarr.tgz -echo "[8/10] Alte Installation sichern..." +echo "=== Alte Installation sichern ===" -rm -rf "$OLDDIR" +rm -rf $OLDDIR +mv $INSTALLDIR $OLDDIR -mv "$INSTALLDIR" "$OLDDIR" +echo "=== Neue Version installieren ===" -mv "$TMPDIR/dolibarr-$VERSION" "$INSTALLDIR" +mv $TMPDIR/dolibarr-$VERSION $INSTALLDIR -echo "[9/10] Konfiguration + Rechte..." +echo "=== Konfiguration kopieren ===" -mkdir -p "$INSTALLDIR/htdocs/conf" +cp /etc/dolibarr/conf.php $INSTALLDIR/htdocs/conf/ -cp "$CONF" "$INSTALLDIR/htdocs/conf/conf.php" - -chown -R www-data:www-data "$INSTALLDIR" +echo "=== Rechte setzen ===" +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 +echo "=== Apache Neustart ===" systemctl restart apache2 +echo "=== install.lock setzen ===" + +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 "=====================================" +echo "Update vorbereitet." +echo "Jetzt im Browser aufrufen:" echo "" -echo "Backup:" -echo "$BACKUPDIR" -echo "" -echo "Browser:" echo "/dolibarr/install" echo "" -echo "Datenbankmigration durchführen" -echo "" +echo "Danach Datenbankmigration durchführen." +echo "=====================================" +EOF \ No newline at end of file