quick_update.sh aktualisiert
This commit is contained in:
+40
-80
@@ -1,118 +1,78 @@
|
|||||||
|
sudo tee /usr/local/bin/update-dolibarr.sh > /dev/null << 'EOF'
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
VERSION="23.0.3"
|
VERSION="23.0.3"
|
||||||
|
BACKUPDIR="/root/dolibarr-backup-$(date +%F-%H%M)"
|
||||||
DATE=$(date +"%Y-%m-%d_%H-%M-%S")
|
|
||||||
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"
|
||||||
CONF="/etc/dolibarr/conf.php"
|
|
||||||
|
|
||||||
echo "========================================="
|
echo "=== Dolibarr Update startet ==="
|
||||||
echo " Dolibarr Quick Update"
|
|
||||||
echo "========================================="
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
echo "[1/10] Arbeitsverzeichnis vorbereiten..."
|
mkdir -p $BACKUPDIR
|
||||||
rm -rf "$TMPDIR"
|
mkdir -p $TMPDIR
|
||||||
mkdir -p "$TMPDIR"
|
|
||||||
|
|
||||||
echo "[2/10] Backup-Verzeichnis erstellen..."
|
echo "=== Backup Dateien ==="
|
||||||
mkdir -p "$BACKUPDIR"
|
tar -czf $BACKUPDIR/dolibarr-files.tar.gz $INSTALLDIR
|
||||||
|
|
||||||
echo "[3/10] Dateien sichern..."
|
echo "=== DB Daten auslesen ==="
|
||||||
|
|
||||||
if [ ! -d "$INSTALLDIR" ]; then
|
DB_NAME=$(grep dolibarr_main_db_name /etc/dolibarr/conf.php | cut -d"'" -f2)
|
||||||
echo "FEHLER:"
|
DB_USER=$(grep dolibarr_main_db_user /etc/dolibarr/conf.php | cut -d"'" -f2)
|
||||||
echo "$INSTALLDIR nicht gefunden"
|
DB_PASS=$(grep dolibarr_main_db_pass /etc/dolibarr/conf.php | cut -d"'" -f2)
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
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 "=== Download Dolibarr $VERSION ==="
|
||||||
echo "FEHLER:"
|
|
||||||
echo "$CONF nicht gefunden"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
DB_NAME=$(grep dolibarr_main_db_name "$CONF" | cut -d"'" -f2)
|
cd $TMPDIR
|
||||||
DB_USER=$(grep dolibarr_main_db_user "$CONF" | cut -d"'" -f2)
|
|
||||||
DB_PASS=$(grep dolibarr_main_db_pass "$CONF" | cut -d"'" -f2)
|
|
||||||
|
|
||||||
if [ -z "$DB_NAME" ]; then
|
wget https://sourceforge.net/projects/dolibarr/files/Dolibarr%20ERP-CRM/$VERSION/dolibarr-$VERSION.tgz/download -O dolibarr.tgz
|
||||||
echo "FEHLER: Datenbankname leer"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "DB: $DB_NAME"
|
echo "=== Entpacken ==="
|
||||||
|
|
||||||
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..."
|
|
||||||
|
|
||||||
tar -xzf dolibarr.tgz
|
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"
|
echo "=== 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 "[10/10] install.lock setzen..."
|
echo "=== Apache Neustart ==="
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
systemctl restart apache2
|
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 "========================================="
|
echo "====================================="
|
||||||
echo "Update vorbereitet"
|
echo "Update vorbereitet."
|
||||||
echo "========================================="
|
echo "Jetzt im Browser aufrufen:"
|
||||||
echo ""
|
echo ""
|
||||||
echo "Backup:"
|
|
||||||
echo "$BACKUPDIR"
|
|
||||||
echo ""
|
|
||||||
echo "Browser:"
|
|
||||||
echo "/dolibarr/install"
|
echo "/dolibarr/install"
|
||||||
echo ""
|
echo ""
|
||||||
echo "Datenbankmigration durchführen"
|
echo "Danach Datenbankmigration durchführen."
|
||||||
echo ""
|
echo "====================================="
|
||||||
|
EOF
|
||||||
Reference in New Issue
Block a user