Hi out there,

da es offenbar immer wieder probleme mit Updates gibt und das auch bei mir selber nicht immer absolut reibungslos läuft, hier ein Script (als Kochrezept, bitte nicht direkt so ausführen!), wie ich vorgehe. Startpunkt ist ein bereits entpackter Tarball ohne Änderungen (OTRS_NEW) und ein laufendes System (OTRS_OLD). Ich empfehle auf JEDEN Fall sicherheitshalber vorher noch ein dump der alten Datenbank!

Vielleicht hilfts dem einen oder anderen, ansonsten würde ich mich auch über Kommentare freuen, was ich vergessen haben oder besser machen könnte.

Gruß

Martin

=======================================================

#!/bin/bash
##############################################
## OTRS patch level upgrade script by marte ##
##############################################
#
# $Rev: 62 $
# $Date: 2013-09-02 12:46:17 +0200 (Mon, 02 Sep 2013) $

OTRS_BASE=/mnt/data
OTRS_NEW=$OTRS_BASE/otrs-3.2.9
OTRS_OLD=$OTRS_BASE/otrs-3.2.6

##############################################

[ ! -d $OTRS_NEW || ! -d $OTRS_OLD ] && echo "OTRS-Verzeichnisse nicht gefunden, Variablen überprüfen"
cp -av $OTRS_OLD/Kernel/Config.pm $OTRS_NEW/Kernel/
cp -av $OTRS_OLD/Kernel/Config/GenericAgent.pm $OTRS_NEW/Kernel/Config
cp -av $OTRS_OLD/Kernel/Config/Files/ZZZAuto.pm $OTRS_NEW/Kernel/Config/Files # Artikel kopieren: ACHTUNG, eventuell Bug! Quell- und Zieldir vergleichen!!! [ -d $OTRS_OLD/var/article ] && cp -arv $OTRS_OLD/var/article/* $OTRS_NEW/var/article/
# CMDB Anhaenge (Cape-IT Addon)
[ -d $OTRS_OLD/var/attachments ] && cp -arv $OTRS_OLD/var/attachments $OTRS_NEW/var/
# eigene/veränderte Templates
echo "> copying non-standard templates... <"
for d in $( find $OTRS_OLD/Kernel/Output/HTML/* -maxdepth 0 -type d ); do
  if [ "$( basename $d )" != "Standard" ]; then
    cp -arv $d $OTRS_NEW/Kernel/Output/HTML/
  fi
done
# Thirdparty Javascript Addons (a.e. lightbox)
echo "> looking for js Addons... <"
for d in $OTRS_OLD/var/httpd/htdocs/js/thirdparty/*; do
if [ ! -d $OTRS_NEW/var/httpd/htdocs/js/thirdparty/$( basename $d ) ]; then
    echo -n ">> $d not found in OTRS_NEW. Copy? [y/N] "
    read ans
    if [ "$ans" = "Y" ] || [ "$ans" = "y" ]; then
      cp -arv $d $OTRS_NEW/var/httpd/htdocs/js/thirdparty
    fi
  fi
done
# eigene Config-Files
echo "> looking for own files in Kernel/Config/files... <"
for f in $OTRS_OLD/Kernel/Config/Files/*; do
  if [ ! -f $OTRS_NEW/Kernel/Config/Files/$( basename $f ) ]; then
    echo -n ">> $f not found in OTRS_NEW. Copy? [y/N] "
    read ans
    if [ "$ans" = "Y" ] || [ "$ans" = "y" ]; then
      cp -av $f $OTRS_NEW/Kernel/Config/Files
    fi
  fi
done
# veränderte Skripte
echo "> copying Custom-Dir... "
cp -arv $OTRS_OLD/Custom/* $OTRS_NEW/Custom/
echo "> rebuilding Config <"
# Config neu generieren, Cache löschen
bin/otrs.RebuildConfig.pl
bin/otrs.DeleteCache.pl
setfacl -R -m u:www-data:rwX $OTRS_NEW
setfacl -R -m d:u:www-data:rwX $OTRS_NEW
setfacl -R -m u:otrs:rwX $OTRS_NEW
setfacl -R -m d:u:otrs:rwX $OTRS_NEW
# hat sich was an der default-Config geändert?
echo "> comparing Default configs... <"
diff $OTRS_OLD/Kernel/Config/Defaults.pm $OTRS_NEW/Kernel/Config/Defaults.pm
echo "> all done, you can restart cron and apache. <"

=======================================================

--
EDV-Service Martin Tettke
Internet Services / Network-Security / Consulting
Dipl.-Ing. Martin Tettke
Schillerstr. 78B
12305 Berlin
Tel   030 / 97 88 78 10
Fax   030 / 97 88 78 09
Mobil 0178 / 473 13 55

* i...@tettke-it.de * www.tettke-it.de *
---------------------------------------------------------------------
OTRS mailing list: otrs-de - Webpage: http://otrs.org/
Archive: http://lists.otrs.org/pipermail/otrs-de
To unsubscribe: http://lists.otrs.org/mailman/listinfo/otrs-de

Antwort per Email an