75 lines
2.1 KiB
Bash
75 lines
2.1 KiB
Bash
#!/bin/bash
|
|
|
|
set -euo pipefail
|
|
|
|
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"
|
|
|
|
echo "=== Dolibarr Quick Update startet ==="
|
|
|
|
mkdir -p "$BACKUPDIR"
|
|
rm -rf "$TMPDIR"
|
|
mkdir -p "$TMPDIR"
|
|
|
|
echo "=== Backup Dateien ==="
|
|
tar -czf "$BACKUPDIR/dolibarr-files.tar.gz" "$INSTALLDIR"
|
|
|
|
echo "=== DB Daten auslesen ==="
|
|
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 "=== SQL Backup ==="
|
|
mysqldump -u "$DB_USER" -p"$DB_PASS" "$DB_NAME" > "$BACKUPDIR/dolibarr.sql"
|
|
|
|
echo "=== install.lock entfernen ==="
|
|
rm -f /var/lib/dolibarr/documents/install.lock
|
|
|
|
echo "=== 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 ==="
|
|
tar -xzf dolibarr.tgz
|
|
|
|
echo "=== Alte Installation sichern ==="
|
|
rm -rf "$OLDDIR"
|
|
mv "$INSTALLDIR" "$OLDDIR"
|
|
|
|
echo "=== Neue Version installieren ==="
|
|
mv "$TMPDIR/dolibarr-$VERSION" "$INSTALLDIR"
|
|
|
|
echo "=== Konfiguration übernehmen ==="
|
|
cp /etc/dolibarr/conf.php "$INSTALLDIR/htdocs/conf/"
|
|
|
|
echo "=== Custom-Verzeichnis übernehmen, falls vorhanden ==="
|
|
if [ -d "$OLDDIR/htdocs/custom" ]; then
|
|
cp -a "$OLDDIR/htdocs/custom" "$INSTALLDIR/htdocs/"
|
|
fi
|
|
|
|
echo "=== Rechte setzen ==="
|
|
chown -R www-data:www-data "$INSTALLDIR"
|
|
chown -R www-data:www-data /var/lib/dolibarr
|
|
|
|
echo "=== Apache Neustart ==="
|
|
systemctl restart apache2
|
|
|
|
echo "=== install.lock wieder 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 "Jetzt im Browser aufrufen:"
|
|
echo ""
|
|
echo "/dolibarr/install"
|
|
echo ""
|
|
echo "Danach Datenbankmigration durchführen."
|
|
echo "====================================="
|