Skip to main content

Update auf Linux

Um Squeeze auf einem Linux System upzudaten kann wie folgt vorgegangen werden:

Datenbanksicherung durchführen

# Alle Datenbanken
mysqldump --user=root -p --host=127.0.0.1 --protocol=tcp --port=3306 --default-character-set=utf8 --routines --events --all-databases --result-file="/var/www/html/2021-01-01_all_databases.bak"

# Eine bestimmte Datenbank
mysqldump --user=root -p --host=127.0.0.1 --protocol=tcp --port=3306 --default-character-set=utf8 --routines --events "databasename" --result-file="/var/www/html/2021-01-01_databasename.bak"

Cronjobs stoppen

# Liste der Cronjobs öffnen
crontab -e -u www-data

# z.B. folgenden cronjob mit einen vorangestellten # deaktivieren
#*/5 * * * * php /var/www/html/Squeeze/jobs/EmailProcessing.php client.server.net

Services stoppen

systemctl stop squeeze-worker@1.timer
systemctl stop squeeze-worker@1.service 
systemctl stop rabbitmq-server.service 
systemctl stop elasticsearch.service 
systemctl stop mariadb.service 
systemctl stop apache2.service

Ab Version 1.10.0 Repository verschieben

Ab der Version 1.10.0 muss das Repository verschoben werden. Wenn eine Version kleiner 1.10.0 ein Update erhalten soll, kann das Repository mit folgendem Befehl verschoben werden:

mv /var/www/html/Squeeze/repository/ /var/www/html/
mkdir /var/www/html/repository/config
mkdir /var/www/html/repository/config/clients

mv /var/www/html/Squeeze/config/server.json /var/www/html/repository/config/server.json
mv /var/www/html/Squeeze/config/server.installed /var/www/html/repository/config/server.installed
mv /var/www/html/Squeeze/config/clients/*.json /var/www/html/repository/config/clients/
mv /var/www/html/Squeeze/config/clients/*.installed /var/www/html/repository/config/clients/

Die *.json Konfigurationsdateien müssen editiert werden, da das Repository der Mandanten verschoben wurde.

Backup der aktuellen Squeeze Version

Um eventuell wieder auf die letzte aktive Version zurückzukommen muss der aktuelle Stand gesichert werden.

cd /var/www/html
tar cfvz "$(date '+%Y-%m-%d')_Squeeze.tar.gz" Squeeze/

Update per git fetch und pull

# enter the Squeeze directory
cd /var/www/html/Squeeze

# ggf. git clone 
git clone https://langer@dev.azure.com/DEXPRO/DEXPRO%20Platform/_git/SQUEEZE .

# fetch the available branches
git fetch

# pull the branch (hard reset)
git reset --hard origin/develop_or_another_branch

Worker Konfiguration übernehmen

Rechte aktualisieren

cd /var/www/html
chown -R www-data Squeeze/
chmod -R 755 Squeeze/

Services starten

systemctl start mariadb.service 
systemctl start apache2.service
systemctl start rabbitmq-server.service 
systemctl start elasticsearch.service
systemctl start squeeze-worker@1.timer
systemctl start squeeze-worker@1.service 

System Migration per API ausführen

Die Datenbank Migrationen müssen noch manuell über die API geprüft bzw. ausgeführt werden. http://client.server.net/api/migrationStatus